Jones had three hits and Russell Martin added his 12th homer of the season. Jose Tabata and Neil Walker got two hits as the Pirates moved within four victories of their first winning season in 21 years.
Francisco Liriano (15-7) allowed just two hits over eight innings, walking two and striking out six to reach the 15-win plateau for the first time.
Jones came in hitting just .119 in August but broke out against St. Louis starter Shelby Miller (12-9).
Pittsburgh manager Clint Hurdle gave Jones some time off to figure things out earlier this week. For a night, the tinkering worked.
Jones hit a two-run double in the first inning to give Pittsburgh the lead, added a moon shot to the seats in right field off Miller in the fourth and followed it up with an RBI single in the fifth.
That was plenty for Liriano. The left-hander is in the midst of a mid-career revival with the Pirates and he had little trouble improving to 4-0 against the Cardinals.
Liriano pitched a complete game in a 5-1 win at St. Louis two weeks ago and was even more dominant in front of a packed PNC Park that is still getting used to being in the thick of a pennant race.
The Cardinals managed only one runner in the last six innings, and no one got past second base in the entire game.
Behind Liriano and Jones, Pittsburgh righted itself following a bumpy three-game set against Milwaukee earlier in the week.
Miller is in the midst of a breakout rookie season but hasn't figured out a way to solve the Pirates. He fell to 0-4 versus Pittsburgh, though his hitters haven't done him any favors. The Cardinals have produced just one run in Miller's four starts against Pittsburgh.
The Pirates doubled that total in the first inning against Miller. Tabata led off with a single and Walker doubled to put runners in scoring position. Miller hit Pedro Alvarez to load the bases and Jones ended a month's worth of frustration by slashing a ball down the right-field line.
Jones kept it going in the fourth, golfing Miller's fastball into the stands. Martin followed with a shot over the wall in center on the next pitch to give Pittsburgh a 4-0 lead.
Jones drove in newly acquired outfielder Marlon Byrd in the fifth, making his entire RBI total this month (four) with three swings of the bat.
St. Louis manager Mike Matheny replaced Miller one batter later. Miller lasted just 4 1/3 innings, giving up five runs on eight hits, walking three and striking out three. He struggled with his command, twice walking Liriano - who came in hitting just .075 - on four pitches.
NOTES: Pittsburgh All-Star closer Jason Grilli will pitch one inning for Double-A Altoona on Saturday as he continues his rehab from a strained flexor tendon in his right forearm. Grilli has been on the 15-day disabled list since injuring the arm against Washington on July 22 ... The Cardinals bolstered their bullpen on Friday when they acquired reliever John Axford from Milwaukee. "There's a lot of experience there, a lot of upside," Matheny said. "It's hard to forget that two years ago this guy was one of the top relievers in the game." ... Lance Lynn (13-8, 4.02 ERA) starts for the Cardinals on Saturday against A.J. Burnett (6-9, 3.18).
Link to box score: Pittsburgh 5, St. Louis 0
Link to game discussion at The Cardinal Nation message board