St. Louis outfielder Carlos Beltran ripped a pair of three-run homers off Burnett. The Cardinals scored four in the first, three in the second and five in the third to chase Burnett, who fell to 1-2 with an 8.04 ERA.
"I was up all night, I couldn't get anything down," Burnett said. "It doesn't matter who you pitch against, if you get your pitches up, you're going to get hammered.
The Cardinals obliged with a season-high 17-hit attack.
Burnett, acquired Feb. 19 from the Yankees, appeared to be rounding into form after suffering a fractured orbital bone near his right eye during bunting practice in Spring Training. He showed flashes of his old form in a pair of solid outings, giving up just two runs in 13 innings prior to Wednesday.
But Burnett struggled from the outset against the hot-hitting Cardinals, who have scored 22 runs in the first two games of the series. Rafael Furcal and Jon Jay began the game with hits. Matt Holliday followed with a run-scoring single. Beltran, who finished 4-for-5 with seven RBIs, then smashed the first pitch over the wall in right.
"I stunk, there is nothing more I can say," Burnett said. "A hitting team like that is going to do what they did."
It marked the first time in 80 years that a Pittsburgh pitcher has given up 12 earned runs in a game. Glenn Spencer gave up 12 earned runs on April 24, 1932, against Chicago, according to the Elias Sports Bureau.
"The ball was just filtering itself back towards the middle of the plate," Pirates manager Clint Hurdle said. "It didn't matter what side he was trying to go to. It was just him being up and staying in the middle."
Burnett was ready to forget his 312th career start as soon as possible.
"You just move forward," he said. "I know what happened. It's just a matter of getting back to work two days from now and getting back downhill where I belong."
St. Louis has won five of its last six. Beltran added another three-run homer in the third to highlight a five-run fifth.
"I was able to see the ball well and I got good results," Beltran said "I've been searching at the plate trying to feel more comfortable."
The Pirates, who trailed trailed, 4-0, after just 14 minutes, cut the deficit to 4-1 with a run in the second. Pedro Alvarez reached on an infield single and came around to score on a double by Clint Barmes, who broke an 0-for-13 skid. Alvarez extended his hitting streak to five, surpassing last year's high.
Pittsburgh catcher Rod Barajas was ejected in the bottom of the second for apparently arguing balls and strikes with home-plate umpire Angel Campos. Barajas threw his mask into the air after being tossed. Hurdle came out and was also ejected. It was the first ejection for Hurdle this season and his sixth as Pittsburgh's manager. His last ejection came on Sept. 13, 2011, in the fifth inning of a 6-4 loss to St. Louis. Umpire Sam Holbrook did the honors.
"We've had some disagreements for two days out there," Hurdle said. "Rod was trying to protect his pitcher making sure we get a fair shake. The conversation went a place that it didn't need to go to and obviously Angel disagreed with his conduct. I disagreed with Angel's. So me and Rod got to watch the rest of the game."
Explained Barajas, "Things just kind of got a little heated. I felt one way, he felt the other way. You get a little frustrated when things don't go the way you think they should."
The loss was the most one-sided since the Pirates dropped a 15-1 decision on Sept. 18, 2011 at Los Angeles.
St. Louis right-hander Lance Lynn allowed two runs on three hits over 6 2/3 innings to improve to 5-0. Lynn has not allowed more than one earned run in all five starts.
Pittsburgh lost for the third time in five games and had its 12-game streak of alternating wins and losses snapped with the second straight loss.
Brad Lincoln and Josh Harrison provided the Pirates' lone bright spots. Lincoln threw 2 1/3 innings of scoreless relief, while Harrison came off the bench and added run-scoring singles in the seventh and ninth.
The Pirates were without Andrew McCutchen, who was given the day off after starting the first 23 games of the season. He is a .377 career hitter at Busch Stadium.