Taillon (3-2) struck out four, walked two and threw 101 pitches.
"Pitch efficiency continues to be first and foremost for me," manager Clint Hurdle said. "It's very, very attractive. Today, he averaged just 12 pitches per inning. ... I think it was 18 out of 22 first-pitch strikes. He's pounding the zone."
Taillon has improved his two-seam fastball and is developing his changeup.
"I'm just playing with pitch sequencing. I had my curveball early, it kind of went away for a couple innings in the middle of the game. That's when the changeup played," he said.
Taillon matched his longest outing in the majors. The Padres put only one runner in scoring position against him.
Freese hit an RBI double in the third and scored on a single by Gregory Polanco.
Harrison singled home a run in the fourth.
"Similar to last start, just a couple bad pitches," Friedrich said. "I felt pretty good, just would be happier trying to go deeper into games, obviously, and would like to knock out some of those big-run innings."
Starling Marte snapped an 0-for-12 streak by getting two hits and scoring a run.
"We talked this morning to come out with some energy and get going," Freese said. "We knew how hot it was going to be and knew they were going to be ready to roll. We had to step up and get it done."
Clayton Richard will join the Padres' rotation as they go with six starters beginning on Sunday. San Diego is in a stretch of 16 consecutive games and wants to use an extra starter in order to keep down the workload of Friedrich, who threw only 58 1/3 innings in 2015, and 23-year-old Luis Perdomo.
Pirates: C Francisco Cervelli did not play after leaving Wednesday's game with left wrist discomfort. Hei called the issue numbness and said it stemmed from tendinitis. Hurdle said he expects him to play "sometime soon." ... 1B John Jaso missed his second straight game with general soreness stemming from a collision at home plate Tuesday.
Padres: Paul Clemens (1-2, 4.61 ERA) will make his third straight turn in the rotation as the Padres begin a three-game series in New York against the Mets. He has not pitched more than five innings in any appearance this season.
Pirates: Ivan Nova (8-6, 4.83) will make his second NL since coming over from the New York Yankees at the trade deadline as the Pirates start a three-game series at the Los Angeles Dodgers. He gave up three runs in seven innings in his first start with Pittsburgh on Sunday.