Welington Castillo homered and drove in three runs to help the Chicago Cubs beat the Florida Marlins 13-3 on Sunday despite losing rookie outfielder Tyler Colvin to a strange injury.

Colvin was standing on third base in the second inning when part of Castillo's bat punctured his chest. Colvin scored on Castillo's double, but was replaced in the field in the bottom half and taken to a hospital.

A Cubs spokesman said Colvin was in stable condition and there was minimal external bleeding.

The Marlins issued 12 walks, tying a franchise record for a nine-inning game set Oct. 5, 2001, against Atlanta. Brett Sinkbeil issued three consecutive bases-loaded walks in Chicago's six-run second.

The Cubs completed a three-game sweep and earned a sixth consecutive win for the first time since a seven-game streak from August 23-29, 2008. Bobby Scales, Brad Snyder, and Jeff Baker each drove in a pair of runs.

Dan Uggla hit his 31st homer for the Marlins, who managed just three hits. Hector Luna also went deep.

The Cubs' starting lineup had four rookies and seven players without a home run this season, but they chased Andrew Miller (1-3) during the second.

Scales got Chicago off to a nice start with a two-run single in the first and Snyder added another two-run single in the second. Castillo also had the RBI double on the play that sent Colvin to the hospital.

Miller recorded just four outs and was charged with five runs and three hits. He walked four and struck out one.

Jeff Samardzija (2-1) pitched six innings for Chicago, allowing three runs and three hits. He improved to 2-0 with a 2.31 ERA in two starts since being recalled from Triple-A Iowa.

Castillo's two-run homer off Burke Badenhop in the ninth was the first of his career.

NOTES: Marlins SS Hanley Ramirez missed his third straight game with a sore left elbow. ... Florida rookie Logan Morrison extended his streak of reaching base safely to 38 games with a walk in the first inning.