Burnett (1-2) lost his bid with two outs in the seventh on Carlos Beltran's double to right-center. That was the lone hit given up by the 36-year-old right-hander in seven dominant innings.
The only other runner he allowed came when he hit Daniel Descalso with a 2-2 pitch with one out in the sixth to end his shot at a perfect game. Burnett struck out eight to raise his season total to 35 in 24 innings.
His bid for a no-hitter came on a night when he recorded the 2,000th strikeout of his 15-year career. Burnett reached the milestone when he caught Beltran looking to lead off the second.
The game was stopped briefly when Pirates infielders and catcher Russell Martin went to the mound to shake Burnett's hand. Burnett also gave a quick wave to the crowd of 9,570, which gave him a standing ovation.
Burnett's no-hitter came on May 12, 2001, for the Florida Marlins in San Diego. That game was also notable for his nine walks. Burnett did not issue a free pass Wednesday night.
St. Louis rookie Shelby Miller (2-0) pitched well despite taking his first loss in four career decisions. He gave up two runs and six hits in six innings with one walk and six strikeouts.
Andrew McCutchen and Neil Walker each had two of Pittsburgh's 11 hits.
The Pirates struck quickly against Miller as Starling Marte led off the first inning with a triple high off the right-field wall, extending his hitting streak to 10 games. Travis Snider then singled Marte home.
However, after Walker hit a two-out double in the first inning, Miller retired 15 consecutive batters.
McCutchen ended that streak with a two-out infield single in the sixth and scored on a single by Walker to make it 2-0.
Pittsburgh scored an unearned run in the seventh off Trevor Rosenthal on third baseman's David Freese's two-out throwing error on a grounder by Marte. The Pirates added two more in the eighth against Randy Choate as pinch-hitter Gaby Sanchez doubled in a run and scored on Pedro Alvarez's single.
NOTES: Pittsburgh LHP Wandy Rodriguez will start Friday night against Atlanta after completing a 25-pitch bullpen session. Bothered by a strained left hamstring, Rodriguez has not pitched since April 8 when he left a game at Arizona in the third inning. ... St. Louis manager Mike Matheny gave 1B Allen Craig and SS Pete Kozma the night off and started Matt Adams and Descalso in their places. ... The Cardinals open a four-game series at Philadelphia on Thursday night with RHP Adam Wainwright (2-1, 2.05 ERA) facing LHP Cole Hamels (0-2, 7.56). Wainwright has 24 strikeouts and no walks in his first three starts. ... Also on Thursday night, the Pirates begin a four-game home series with Atlanta as LHP Jeff Locke (1-1, 4.09) pitches against RHP Julio Teheran (0-0, 7.36).
Link to box score: Pittsburgh 5, St. Louis 0
Link to game discussion at The Cardinal Nation message board