The New York Yankees will be well represented, too, for the game at their own ballpark: Top vote-getter Alex Rodriguez, captain Derek Jeter and reliever Mariano Rivera were picked.
The Tampa Bay Rays, with the best record in the majors, did not have a single player elected to start. Pitcher Scott Kazmir and catcher Dioner Navarro were added to the AL squad.
There was only one change in the final week of fan voting for starters -- Milwaukee outfielder Ryan Braun overtook Ken Griffey Jr. in the NL outfield. Griffey finished fourth and was left off the team.
Outfielders Kosuke Fukudome and Soriano and rookie catcher Geovany Soto were chosen to start for the Cubs, who own the best record in the league. Soriano has been out with a broken left hand, but may return in time to play.
Cubs pitchers Kerry Wood and Ryan Dempster and third baseman Aramis Ramirez were chosen by NL players, and pitcher Carlos Zambrano was picked by NL manager Clint Hurdle of Colorado.
It's been a charmed season for the Cubs, trying to win their first World Series in 100 years. Twice before, in 1988 and 1936, they put six players in the All-Star game.
Ramirez, David Ortiz, Dustin Pedroia and Kevin Youkilis were elected by fans from the World Series champion Red Sox. Ortiz has an injured wrist and AL manager Terry Francona of Boston said that Texas' Milton Bradley would take over as the designated hitter.
Boston outfielder J.D. Drew, catcher Jason Varitek and closer Jonathan Papelbon were picked by a vote of AL players.
Rodriguez, the Yankees third baseman, received the most votes overall with 3,934,518. Philadelphia second baseman Chase Utley led the NL with 3,889,602.
The AL starting lineup: Youkilis at first base, Pedroia at second base, Jeter at shortstop, Rodriguez at third base, outfielders Josh Hamilton of Texas, Ichiro Suzuki of Seattle and Ramirez, and Minnesota catcher Joe Mauer.
Starting for the NL: Houston first baseman Lance Berkman, Utley at second base, Florida shortstop Hanley Ramirez and Atlanta third baseman Chipper Jones, with Soriano, Fukudome and Braun in the outfield. Soto will become the first rookie catcher to start for the NL.
"The beauty of it, the fans got to vote eight, the players got to vote 16, at the end of the day, the challenges you have from this seat is you have to make sure there's a representative from each team," Hurdle said.
Fan voting for the starters ended Wednesday.
Griffey was second in the NL balloting released Monday, leading Braun by about 167,000 votes. But Braun wound up winning among NL outfielders while Griffey finished 87,000 behind Fukudome.
Pedroia beat out Texas' Ian Kinsler by about 34,000 votes in the closest race while Hanley Ramirez held off Milwaukee's J.J. Hardy and Houston's Miguel Tejada at shortstop. Tejada was taken six months after his name showed up in the Mitchell Report on drugs in baseball.
An Internet vote will be held this week to select the final player on each team.
The AL candidates for the last spot: outfielders Jermaine Dye and Jose Guillen, first baseman Jason Giambi, second baseman Brian Roberts and third baseman Evan Longoria.
The NL candidates: outfielders Pat Burrell, Corey Hart, Carlos Lee and Aaron Roward and third baseman David Wright.
Among the position players left off the team: Cubs first baseman Derrek Lee, hitting .302 with 15 homers and 52 RBIs going into Sunday, Colorado third baseman Garrett Atkins (.311, 12 HRs, 50 RBIs), Detroit outfielder Magglio Ordonez (.307, 12, 50) and Boston third baseman Mike Lowell (.302, 13, 54).
Boston's Daisuke Matsuzaka (9-1, 3.12 ERA) and St. Louis' Kyle Lohse (10-2, 3.61) were among the pitchers left out.
Once again, the league that wins the All-Star game will get home-field advantage in the World Series.
The AL has not lost an All-Star game since 1996 at Veterans Stadium. Since then, the AL has won 10 and tied one.
"It's not so much getting everyone in the game anymore. This is not a celebrity golf tournament anymore where everybody gets together, shakes hands and has lots of giggles," Hurdle said.