Hammel (5-2) struck out seven in eight-plus innings in the Cubs' 4-2 win over the Nationals.
Ross (0-1) was perfect his first time through the lineup before running into trouble when hitters got their second look at the rookie. He finished with three runs allowed on six hits and no walks in five innings with four strikeouts.
Hammel only made two mistakes, which resulted in solo home runs by Wilson Ramos and Bryce Harper.
While Ross breezed through the first three innings, Hammel ran into trouble when Ramos sent the first pitch of the bottom of the second over the wall for a 1-0 Nationals lead.
The Cubs were more prepared for Ross in the fourth. Fowler, Rizzo and Kris Bryant all hit singles to start the inning, with Bryant's infield hit scoring Fowler to tie the game.
An inning later, two-out hits from Fowler and Rizzo -- the last a double -- scored two more Cubs runs for a 3-1 advantage.
After Ramos' home run, Hammel retired 11 in a row. Washington would not have a batter reach scoring position until the eighth, when Danny Espinosa led off with a ground-rule double but was left there when Hammel retired the next three batters.
Herrera drove in Miguel Montero with a single in the ninth to extend Chicago's edge to 4-1, but Harper's league-leading 19th home run to start the Nationals' final at-bat forced Hammel from the game. He was replaced by Hector Rondon, who was promptly removed in favor of Pedro Strop after walking the only batter he faced.
Strop earned his eighth career save by recording three straight outs, including strikeouts of Clint Robinson and Ian Desmond to end the game.