Chris Coghlan finally solved Bud Norris with a bases-loaded triple in a four-run second inning, leading the Chicago Cubs to a 7-2 victory over the Baltimore Orioles on a soggy Saturday at Wrigley Field.

The game was delayed because of rain for more than three hours.

Justin Grimm (4-2) pitched 3 1-3 hitless innings after a long rain delay as the last-place Cubs won their second straight against the AL East leaders. Logan Watkins had two hits and two RBIs, and touted rookie Javier Baez hit his seventh homer in the seventh, a hard opposite-field liner into the basket in right.

Coghlan was 0 for 15 with six strikeouts against Norris (11-8) before connecting for his fifth triple of the season.

Chicago will try Sunday for its first series sweep since winning three straight at Boston from June 30 to July 2.

The Orioles had seven hits after they announced before the game that All-Star third baseman Manny Machado had decided to have season-ending right knee surgery. Machado hurt himself on an awkward swing against the Yankees on Aug. 11.