CHICAGO -- David DeJesus has been haunted all season by unfavorable winds at Wrigley Field.
He got the best of the Friendly Confines on Wednesday.
Asked how many home runs he thinks he's missed out on this year, DeJesus, who now has four on the season, couldn't help but grin.
"The other day when I hit one against Bronson (Arroyo) and it was caught at the wall, I came running in and (manager Dale Sveum) was like, 'You should have at least 10 right now,'" DeJesus said. "So when your manager's saying that, I'll take 10."
Starlin Castro also homered among his three hits for Chicago, which won for just the third time in 15 games. The Cubs avoided falling to a season-worst 26 games under .500.
Astros starter Bud Norris left the game after being hit in the left foot with a line drive in the fourth inning.
DeJesus' third-inning homer was his first in 54 career games at Wrigley Field. And he didn't waste any time notching his second career Wrigley homer, blasting the first pitch of his next at-bat out to center field.
"He finally hit those kind of balls when the wind was blowing out a little bit," Sveum said. "He's been snakebit on balls like that when the wind is blowing in. It's nice to finally see him get a couple."
He tied a career best with four hits and drove in three runs, reaching base five times. Astros reliever Chuckie Fick was booed in the sixth for intentionally walking DeJesus with runners on second and third.
Castro hit a two-run shot in the third, his 12th of the season, as Norris failed to win for a 13th consecutive start.
Norris (5-10) allowed six runs on eight hits over 3 1/3 innings and hasn't won since May 21.
Following DeJesus' second homer, Josh Vitters hit a liner up the middle that deflected off Norris' foot toward the third base bag. After two warm-up pitches, Norris bent over, shook his head toward the team trainer and exited the game. He was diagnosed with a left foot contusion.
"I knew with my landing foot it wasn't going to be pretty," Norris said. "I'm glad I came out because I didn't want to hurt it any worse than it was."
Germano (2-2) cruised through six innings before getting into trouble in the seventh. He was removed after giving up a single and a walk. James Russell entered in relief and loaded the bases, but escaped the jam giving up just one run.
Germano was charged with two runs on five hits over 6 1/3 innings. He walked one and struck out six, including the side in the fourth.
He adjusted to the conditions quickly after Scott Moore's home run leading off the second inning.
"I wasn't really aware of it until that ball went out, I thought it was a fly ball off the bat," Germano said. "It was a reminder that I had to be more aggressive down in the zone. The wind, you don't really know what's gonna happen."
Moore's homer was his second in as many days. He had three extra-base hits in Tuesday's 10-1 win.
The Astros, owners of the worst record in baseball, have dropped 26 of their last 29 road games and are 12-48 away from home this season.
It was Jackson's first career RBI. He also doubled in the sixth. The 24-year-old has struggled since being called up from Triple-A Iowa on Aug. 5. He was just 4 for 28 with 16 strikeouts before the triple.
The Cubs fired vice president of player personnel Oneri Fleita. Fleita had been with the organization since 1995. ... Astros RHP Francisco Cordero flew to Miami to complete his U.S. Citizenship. Cordero has been on the 15-day disabled list since Aug. 3 with a sprained toe ligament. He was acquired from Toronto on July 20. ... After an off-day Thursday, Travis Wood (4-8, 4.52 ERA) pitches the series opener for the Cubs in Cincinnati against the Reds' Bronson Arroyo (8-7, 3.95). ... Dallas Keuchel (1-4, 5.29) will start for Houston at home on Friday against Arizona's Wade Miley (12-8, 3.02).