The Cubs stopped their 12-game losing streak as Alfonso Soriano hit a go-ahead home run Monday in an 11-7 win over the San Diego Padres at Wrigley Field.
The Cubs' skid was their worst since they opened the 1997 season with 14 straight losses.
Winds were blowing out at gusts up to 35 mph on a 90-degree day at Wrigley Field, and the ball was flying. There were eight home runs, including four by each team and two from San Diego's Chase Headley, and a total of 17 extra-base hits.
Chicago trailed 7-6 in the sixth inning when Soriano launched a drive off Alex Hinshaw (0-1) over the right-field bleachers onto Waveland Avenue.
Soriano had three hits and drove in three runs. Ian Stewart and Starlin Castro each homered and drove in three for the Cubs. Darwin Barney also homered and David DeJesus tripled twice.
Everth Cabrera and Will Venable connected for San Diego, which lost its fourth in a row. The Padres hadn't hit more than two home runs in a game all season and came into the game last in the majors with only 18 overall.
Randy Wells (1-1) picked up the win in relief.
Barney hit a solo shot in the second and Stewart's two-run shot capped a three-run fourth that put the Cubs ahead 6-4..
Castro hit an 0-2 pitch onto Waveland to pad the one-run lead in the seventh.
Headley had four hits. He hit a tying solo shot leading off the fourth, then tied it again with a two-run drive in the fifth.
It was Headley's second multihomer game of the year. He has seven home runs this season after hitting just four in 113 games in 2011.
Carlos Quentin hit an RBI double in his Padres' debut to give San Diego the early 1-0 lead and snap their streak of 26 scoreless innings.
Quentin was activated from the 15-day disabled list prior to the game. He had arthroscopic surgery on his right knee in March after being acquired from the Chicago White Sox on Dec. 31.
DeJesus got the Cubs going in the first with a leadoff triple and scoring on Castro's single. Castro stole second and later scored on Bryan LaHair's groundout.
Cubs starter Travis Wood lasted just five innings. He was tagged for a season-high six runs on seven hits, including four home runs.
San Diego starter Jeff Suppan yielded six runs over five innings.