Burnett (7-9) allowed four hits and a walk while striking out six. The right-hander also drove in a run in winning for the third time in four starts.
Russell Martin slammed a three-run homer while Neil Walker went 3-for-4 with an RBI for the Pirates, who won a second straight over division rival St. Louis and climbed over the Cards for a one-game lead in the National League Central.
Lance Lynn (13-9) was tagged for seven runs on 10 hits in a four-inning effort for St. Louis, which dropped a third straight overall.
Carlos Beltran got the Cardinals' only RBI.