Wells (4-3) gave up seven hits and two runs in six innings, including a homer to Nate McLouth. Kevin Gregg worked the ninth for his 15th save in 18 chances.
Jair Jurrjens (6-7), who held the Phillies hitless for 6 2-3 innings in his previous start, gave up four runs and seven hits in six innings, including Lee's 16th homer, a two-run shot in the first.
Cubs third baseman Aramis Ramirez returned to the lineup after missing two months with a dislocated left shoulder and got a loud ovation in his first at-bat. He went 0 for 4.
Jurrjens had given up only six homers all year before Lee drove a pitch deep into the left-field bleachers in the first - one out after a leadoff single by Kosuke Fukudome - to give the Cubs an early cushion.
The Cubs tacked on two more in the second with four straight two-out hits. Mike Fontenot and Wells singled, Fukudome lined an RBI double into the right-field corner and Ryan Theriot beat an out an infield single to short as Wells scored for a 4-0 lead.
Chicago loaded the bases in the third but Braves shortstop Yunel Escobar went deep in the hole to collect Wells' grounder and made a strong throw to first to end the inning.
Atlanta had three singles off Wells in the fourth, including an RBI liner to center by Escobar that cut the lead to 4-1. And when Wells' fumbled Casey Kotchman's dribbler to the left of the mound for an error, the Braves had the bases loaded. Wells escaped by striking out Matt Diaz and getting Jurrjens to hit into a forceout.
McClouth led off the fifth with his 14th homer - fifth since joining the Braves - to cut the lead in half.
NOTES: Wells is the first Cubs rookie to win four straight starts since Kerry Wood in 1998, according to Elias Sports Bureau. ... Lee has four homers in the first five games of the 11-game homestand. ... Jeff Francoeur was out of Atlanta's starting lineup for a third straight day Monday, benched in favor of hot-hitting outfielder Matt Diaz. Francouer pinch-hit in the seventh and had an infield single. "I'm just sitting there, cheering them on, doing the best I can," said Francoeur, who was batting .244 entering Monday. Diaz was 12-for-19 in the previous five games. Francoeur said he feels like he's started to come around. " I got all the confidence in the world in myself. I know I can play. Sometimes things just don't work out the way you want to," he said. "I'll just be patient, wait my turn and whether that's here or somewhere else, I can't control that."