Wilson doubled home two runs in the eighth inning as the Reds scored three times to beat Atlanta, 4-2, at Cincinnati and snap the Braves' nine-game winning streak.
Atlanta's magic number for clinching the West remained at 10 as the second-place Reds moved to 9 1/2 back.
Since playing themselves out of contention within the last week, the Reds have started playing youngsters called up this month. Wilson, their top draft pick in 1990, came up with his biggest major league hit.
"We have a lot of young kids here," Manager Lou Piniella said. "This is a delight for an expansion team to watch. We're evaluating everyone. It's a chance for the young players to show what they can do."
Wilson is known for solid defense but inconsistent hitting, making his game-winning hit off reliever Mike Stanton even more significant to him.
The Braves are 0-7 this season at Riverfront Stadium. Tuesday's loser, Steve Avery, is 1-5 with an ERA of 7.20 in seven lifetime starts there.
The Pirates trailed, 2-1, in the sixth. Jay Bell opened with a double, extending his hitting streak to a major league high 20 games, and went to third on a groundout before Bonds hit his 29th home run into the right-field seats. King followed with his 13th homer, into left field, to put Pittsburgh ahead by two runs.
Andy Van Slyke homered in the first inning for the Pirates, who have won 12 of their last 16.
"Those guys shouldn't beat you," Cardinal Manager Joe Torre said. "You've got to keep them from beating you. The home runs were just bad pitches. Inexperience."
Montreal 3, Philadelphia 0--Ken Hill pitched a three-hitter over eight innings and Marquis Grissom had two RBIs at Philadelphia.
Hill (16-8) struck out seven and walked two. He gave only two singles in the fifth--to Tom Marsh and pitcher Curt Schilling--and an eighth-inning hit to second baseman Mickey Morandini before giving way to John Wetteland. Wetteland pitched the ninth for his 34th save.
Montreal is 16-5 on the road since the All-Star break.
New York 4, Chicago 2--Eddie Murray and Jeff McKnight each hit two-run homers at Chicago in a game shortened to 7 1/2 innings by rain. The game was halted as the Cubs prepared to bat in the bottom of the eighth, when a severe thunderstorm moved into the area. The game was called after a delay of 1 hour 28 minutes.
Houston 9, San Francisco 6--Jeff Bagwell's three-run homer in the 11th inning capped a five-hit night and broke the tie at Houston.
Bagwell went five for six with four RBIs. The last Astro to get five hits in a game was Billy Hatcher on May 20, 1988.