Freese's sixth home run and third in five games was a tiebreaking, three-run shot off Charlie Morton (1-2) in the fifth. Holliday homered in the sixth off Jared Hughes to cap a three-hit night with two RBIs.
Allen Craig had two hits and an RBI in his season debut after rehabbing from knee surgery performed last fall shortly after he belted three homers in the World Series. Rafael Furcal had two hits, including his first homer - a two-run shot off Tony Watson in the seventh that made it 10-4.
Wainwright (1-3) was hurt only by the long ball in his fifth start of the season, allowing five hits but giving up two-run homers to Jose Tabata in the third and Pedro Alvarez in the seventh. The right-hander totaled 39 wins from 2009-10 but missed last season following reconstructive elbow surgery, and became the last member of the rotation to get a win this year.
His previous victory was his 20th of the 2010 season.
In his first four starts, the Cardinals didn't score while Wainwright was in the game. This time, he left with a 7-4 cushion. Wainwright's ERA remains unsightly at 6.75, the highest at any point during his career as a starter, but he's made strides the last two outings, with the Cubs getting one run in six innings April 24.
The Pirates topped five runs, their season best for the first 21 games, for the second straight night after beating Atlanta 9-3 on Monday. But they committed four errors, matching their season worst April 20 also against the Cardinals in a 4-1 loss, leading to four unearned runs.
Tabata ended a 140-at-bat homer drought dating to Aug. 17, 2011, against the Cardinals' Kyle Lohse. Alvarez was the first Pirates player to reach double figures in RBIs with his sixth homer and a run-scoring single giving him 12 on the year. Garret Jones has 10 RBIs after an RBI single off Fernando Salas in the eighth cut the deficit to three.
Jason Motte worked the ninth for his fourth save in five chances.
Plate umpire C.B. Buckner left the game due to illness during a pitching change with one out in the bottom of the seventh and a crew of three finished the game, with second base ump Dan Iassogna moving behind the plate. Buckner briefly went to the St. Louis clubhouse for attention during a break between innings before calling it a night.
Morton was the toughest pitcher to homer against in the majors last season, allowing just six in 171 2-3 innings, with five by left-handed hitters. Freese's sixth of the season was the second in 21 1-3 innings this year, both by right-handed hitters. Ramon Hernandez of Colorado connected in Morton's previous start.
Wainwright has allowed six homers in 26 2-3 innings, twice as many as anyone else in the rotation. In 2010, he permitted 15 homers in 230 1-3 innings.
Notes: Lance Lynn (4-0, 1.33 ERA), off to a great start as the stand-in for injured ace Chris Carpenter, opposes A.J. Burnett (1-1, 1.38) in the second game of the three-game series Wednesday. ... Slow-footed Cardinals C Yadier Molina is 4 for 4 in steals. He caught Morton so unaware in the fourth there was no throw and was on the front end of a double steal in the seventh that prompted a wild throw from catcher Rod Barajas, allowing a run to score. ... Morton did not miss injured Cardinals 1B Lance Berkman, who is 8 for 14 with two homers and six RBIs against him. ... Jon Jay and Molina each had two hits, and both have nine hits in the first four games of a six-game homestand.
Link to boxscore: St. Louis 10, Pittsburgh 7