The Danish cyclist capitalised on a two-man lead-out train, comfortably beating Fred Wright (Bahrain-Victorious) and Gianni Vermeersch (Alpecin-Deceuninck) to the finish line.
Remco Evenepoel (Quick-Step Alpha Vinyl) maintains his overall lead after finishing the stage securely in the peloton, up 2:07 over Enric Mas (Movistar).
Stage 19 to Talavera de la Reina included two second-category climbs followed by a long decent and flat terrain to the finish. Pedersen’s Trek-Segafredo controlled the 55-man peloton as it headed into the final kilometre of the race after hunting down the day's break with 50 kilometres remaining.
Australian Miles Scotson (Groupama-FDJ) launched a flying attack within the final kilometre, but he wasn't able to gain much headway and Pedersen took flight at 175 metres to go to secure the win.
“It was definitely really hard to control the bunch today, but the team did so impressively,” Pedersen said of the race. "Everyone was so dedicated and working really hard. When the 3 guys went with McNulty it wasn't an easy break, so we rode really hard to close them as fast as possible.”
“Everyone on the team was just so, so impressive today so I'm really thankful for the boys today. It's definitely a win for them and without them, there's no chance I could have sprinted here.
“It's never easy in a final like this because it's a lot of good guys in the peloton and if one of them comes with an attack on one of the roundabouts I would be the guy to close it and then it would be hard to sprint, so I was really happy with the speed the boys could keep.
“Three wins is way more than we came here for, so that's super, super nice. Tomorrow we just have to finish the day and then in Madrid we have to see how it goes. No matter what, we can be happy with these three weeks in Spain.”
Up next is Stage 20, set to be a 181-kilometre blockbuster of a race in the Guadarrama Mountains. Centre-stage will be an Evenepoel versus Mas showdown. Just over four minutes separate the riders from third to tenth, leaving plenty to fight for.
Watch Stage 20 LIVE on SBS tonight from 8:25pm (AEST) on SBS On Demand with television coverage on SBS beginning at 10:15pm.