Matt Cain hasn't given up more than three runs and has pitched at least seven innings in each of his last four starts. The San Francisco right-hander has just one win in that span despite his efforts.

Cain heads back to the mound tonight in the middle contest of a three-game series against the Miami Marlins. The three-time All-Star has been one of the best pitchers in the NL since the Midsummer Classic with a 2.38 ERA in his last five starts. He is 2-0 with a 0.91 ERA in his last four road starts.

A loser of two straight starts overall, Cain is 4-4 with a 3.11 ERA in 12 career appearances against the Marlins.

The Marlins hope Henderson Alvarez can continue his unbeaten streak tonight.

The 23-year-old right-hander is 2-0 over his last six outings since his initial loss of the season, July 9 to the Atlanta Braves. This will mark his first career appearance against an NL West opponent.

The offenses were hitting on all cylinders last night for both teams, but the Giants pounded out 19 hits in a 14-10 win.

Hunter Pence went 3-for-6 with five RBI for the Giants. Pence scored three times and had two doubles and a triple. Hector Sanchez had a three-run home run while Pablo Sandoval went 4-for-4 with three RBI in the victory. Brandon Belt also recorded four hits, an RBI and scored four times. Belt has an 11- game hitting streak.

Starter Chad Gaudin gave up eight runs on 11 hits and four walks over four- plus frames. Sandy Rosario (3-0) pitched two scoreless innings of relief to pick up the win.

Justin Ruggiano had two home runs and four RBI while Logan Morrison and Donovan Solano drove in two runs apiece for Miami.

Nathan Eovaldi (2-3) lasted just three-plus innings, surrendering 11 runs -- nine earned -- on 12 hits and a walk.

Miami won three of four in San Francisco when these teams met from June 20-23.