CHICAGO -- In a lost season for Randy Wells, he may finally be starting to find himself.
Wells (5-4) held the Braves to one run and two hits over 6 2/3 innings, striking out six and improving to 4-1 in his career against Atlanta.
|More on Braves at Cubs|
"Randy was good, obviously," Cubs manager Mike Quade said. "Just a real good performance on the back of a game he threw pretty well."
The Cubs snapped the Braves' six-game winning streak and Atlanta remained 6 ½ games behind the Philadelphia Phillies in the NL East.
Soriano's two-run shot fueled Chicago's three-run rally in the second. He also walked and was hit by a pitch. Aramis Ramirez added a single and two walks, extending his hitting streak to 13 games.
"It felt good," Soriano said about his long home run. "That's all we needed runs because (Wells) threw a very good game tonight."
Carlos Marmol got the last three outs and joined Lee Smith as the only Cubs relievers to post consecutive 30-save seasons.
Wells has struggled this season, going 3-4 with a 6.16 ERA since coming off a seven-week stay on the disabled list on May 28. On Wednesday, he flashed the form that gave him the NL's 10th-best ERA as a rookie in 2009.
"I'm starting to feel a lot better," Wells said. "I'm starting to command the fastball a lot better. Tonight, I had a pretty good changeup."
He got off to a fast start, setting down the first 10 Braves and striking out four. The only hit he allowed through the first six innings was Martin Prado's infield single in the fourth.
"Not only (was it big) to come out and shut them down early, but do it pretty economically pitch count-wise," Quade said. "Those early innings got him to the seventh."
Wells appeared to tire in the seventh, giving up Freddie Freeman's flyout to the wall and Chipper Jones' home run into the batter's eye in center field. Wells threw 109 pitches and departed after Jones' blast.
Wells hasn't used his early-season forearm strain as an excuse for his struggles, but admitted it didn't help his cause.
"I still don't make an excuse about it, but it was definitely a hard thing to come back from," Wells said. "The biggest thing is the physical health, but besides that it's having the confidence to cut a ball loose."
Jones and Alex Gonzalez hit a solo homers for Atlanta, which managed just three hits in the game. Jones moved into a tie with Jeff Bagwell for 34th on the career list with 449.
"All the credit goes to Wells," Jones said. "He had an outstanding changeup tonight. He made one mistake with it."
Derek Lowe (8-12) took the loss, allowing four hits and two earned runs over seven innings, matching his longest outing of the season. Lowe threw a season-high 119 pitches.
"I thought the whole game was Derek Lowe," Braves manager Fredi Gonzalez said. "He was outstanding. ... For him to go seven innings and keep us in the ballgame, that was big. That was really, really big."
Soriano gave the Cubs their first lead of the series in the second with his 22nd homer, a mammoth two-run shot to center field well over the 400-foot sign.
The Cubs added a run later in the inning thanks to the speed of Tony Campana, who reached on an error when Dan Uggla tried to hurry on a slow roller to second. Campana stole second, went to third on a balk and scored on Wells' swinging bunt.
Ramirez didn't figure in the scoring, but remained hot. He walked twice and reached on an infield single, extending his streak of reaching base to a career-high nine plate appearances before grounding out in the seventh.
Ramirez is hitting .560 (28 for 50) during his 13-game hitting streak and has reached base in 30 of his last 45 plate appearances.
Gonzalez homered off reliever Kerry Wood in the eighth. In the ninth, Marmol hit Uggla with a pitch to start the inning but recovered to earn the save and snap Atlanta's winning streak.
Braves OF Jose Constanza was out of the lineup for the second straight day because of a mild sprain of his right ankle, though manager Fredi Gonzalez said Constanza was available to pinch-hit. He expect his to return to the lineup on Thursday. ... Cubs manager Mike Quade was encouraged by news from RHP Andrew Cashner's brief rehab start for Double-A Tennessee on Tuesday. Casher allowed two runs and three hits in 2/3 of an inning, but Quade said his velocity topped out in the high 90s and he reported no problems with the strained right rotator cuff that's had him out since April 5. Cashner is scheduled to make two more appearances for Tennessee before moving up to Triple-A Iowa in advance of a September return with the Cubs. ... The Braves will send rookie Brandon Beachy (6-2) to the mound for Thursday afternoon's series finale against Chicago's Matt Garza (6-9), who has posted a 1.47 ERA over his last nine home starts.