"It is somewhat surprising that 16 leads the team," Piniella said.
Make that 18.
Combined with St. Louis' sweep of Milwaukee in a day-night doubleheader, the Cubs now trail the Brewers by just 1½ games in the NL Central.
"We've got to keep grinding," Piniella said. "We can't get google-eyed over where we are."
Reds ace Aaron Harang left the game after the first inning because of lower back soreness, and the Cubs took advantage, scoring the most runs in eight games since a 9-8 win over San Francisco on June 19.
"You know Soriano's going to hit his home runs," Reds manager Pete Mackanin said. "It's just a matter of time. I'm of the school of thought that you're going to hit what you're supposed to hit. What's Lee got -- 10? He's probably going to have a lot more than that."
The Cubs bounced back from a 5-4 loss on Friday, when they scored three runs in the last two innings to tie the game. They haven't lost more than two consecutive games since June 3, when they snapped a six-game losing streak with a 7-2 win at Milwaukee that sparked a major league-best 32-17 run.
The home runs helped left-hander Sean Marshall earn his first win in five starts since he shut out the White Sox 3-0 on June 24. Marshall (5-4) left after giving up Jeff Keppinger's single to lead off the seventh inning, allowing six hits, one run and a walk with three strikeouts.
"He's done a great job," Piniella said. "Most of the games he's pitched, we've had a chance to win."
Lee followed Ryan Theriot's one-out walk in the first inning with his 10th home run of the season. The 403-foot shot into the left field seats off of Harang was Lee's second homer in the last three games and fourth in his last eight.
"I couldn't finish my pitches," said Harang, who felt his back stiffen on his second throw to catcher David Ross before going into the bullpen to warm up before the game. "The pitch to Lee was supposed to be a sinker in, but it stayed flat."
Harang (10-3), who will be reevaluated Sunday, had won his last five decisions since losing at Cleveland on May 20. Left-hander Mike Gosling replaced him.
It was Soriano's 17th multihomer game, second of the season. He hit three homers in a 9-1 win at Atlanta on June 8.
Soriano was hitless in his last nine at-bats before driving in Jacque Jones and Jason Kendall with his 17th homer of the season in the second inning. The 422-foot blast into the upper deck in left field was his first homer since July 14 and snapped a tie with Aramis Ramirez for the club lead.
Soriano added a two-run homer in the ninth off Todd Coffey.
"I thought I made some very good swings tonight," said Soriano, who was 3-for-18 (.167) in the first six games of Chicago's road trip. "I think pitchers have to be very careful with us, because we have a lot of power in our lineup. So you have to give the pitchers credit for making good pitches."
The Reds broke up Marshall's shutout in the fourth inning when Norris Hopper scored from third on Brandon Phillips' groundout, but Cliff Floyd responded in the fifth with an RBI double that gave Chicago a 6-1 lead.
- Matt Murton was scratched from the Cubs' original starting lineup so that Floyd could play Saturday night and get Sunday off.
- Reds 1B Jeff Conine put together his second three-hit game in two nights.
- The Reds acquired INF Jorge Cantu, OF Shaun Cumberland and cash from the Tampa Bay Devil Rays for RHP Calvin Medlock, LHP Brian Shackelford and future considerations on Saturday.
- Marshall's fourth-inning leadoff double was his first career double.
- Saturday's attendance of 42,365 was the fourth-largest in the five-year history of Great American Ball Park and the largest non-Opening Day crowd.