Jones hit a two-run homer and made an outstanding catch as Chicago beat St. Louis 2-1, ending the Cardinals' five-game winning streak.
In the fifth inning, Jones helped keep the game scoreless when he ran full speed toward the center-field wall and made an over-the-shoulder grab on Brendan Ryan's long drive as he hit the ivy-covered bricks.
Albert Pujols' 26th home run put the Cardinals ahead in the sixth. In the bottom half, Ryan Theriot singled and Jones hit his fifth homer.
Jones connected off Braden Looper (10-10), setting off a celebration from a crowd of 41,634 that included many Cardinals boosters.
Rich Hill (7-7) earned his first win since July 16, allowing a run and three hits over seven innings.
St. Louis threatened against reliever Bob Howry in the eighth when David Eckstein singled, stole second and pinch-hitter Rick Ankiel walked. Pujols came up again, but he popped out to second baseman Mike Fontenot in shallow right to end the inning.
Ryan Dempster worked the ninth for his 18th save in 20 chances.
Theriot's opposite-field single in the fourth was the only hit Looper allowed through the first five innings.
The Cardinals, who'd given up only 10 runs during their five-game winning streak, got another strong pitching performance from Looper. He gave up four hits in six innings.
Looper had already beaten the Cubs twice this season. In his previous 18 outings against them, mostly as a reliever, he permitted three runs in 32 innings.