Johnson (10-6) struck out six and walked three to become the fourth Florida rookie, and second this season, to win at least 10 games in a season. Ricky Nolasco, who starts against Arizona on Sunday, is 10-7.
"This was probably the best I've felt all year," Johnson said. "I felt powerful. I felt like I could stand back on the rubber and it was downhill."
The 22-year-old right-hander allowed five runs and eight hits in three innings in a 10-2 loss to the Dodgers last Saturday.
"It's just kind of what our young players have done," manager Joe Girardi said. "When they have a tough game, they bounce back. That's a good sign. That's a sign they're maturing and they're not making too much of one day, one outing, a couple of days, a couple of losses."
Hernandez (9-9), acquired this week in a trade with Washington to shore up the Diamondbacks' shaky rotation, allowed four runs and 10 hits in a season-high eight innings.
"I felt good," he said. "I made a mistake with Cabrera. I tried to throw the fastball up and he jumped at it. That was the ballgame right there. I think that was the only mistake I made."
Hernandez had won three straight starts for the Nationals before coming to Arizona.
"When you don't give him much run support, it makes it a little more difficult," Diamondbacks manager Bob Melvin said. "But boy he was throwing the ball where he wanted to and was economical with his pitches. Really the one hit that hurt him was Cabrera, and that was just good hitting."
Joe Borowski pitched a perfect ninth for his 25th save in 28 opportunities.
Johnson's ERA fell to 2.69, which moves him ahead of Arizona's Brandon Webb (2.74) for best ERA in the National League.
"Ten wins in the big leagues my first year, I'll take that anytime," Johnson said.
"The ball just kind of jumps on you, and he had a good slider he was throwing down and in to the lefties, a good changeup at times," Melvin said. "Really, we hadn't been stifled like that for a while."
All of Florida's runs came with two outs.
"You've got to give them credit, but the bottom line is we didn't come ready to play tonight," Arizona's Eric Byrnes said. "We hadn't seen him before and he's got good stuff, but this is the major leagues and I don't think we really showed up tonight. It seemed like we were going through the motions a little bit, and I'm definitely at fault."
Cabrera doubled in Johnson and Ramirez in the seventh to make it 4-0.
|Livan Hernandez lasts eight innings for Arizona, but a two-run double by Miguel Cabrera is costly. (AP)|
|Players of the Game|
|Hanley Ramirez, SS||5||1||2||1||0||0||1|
|Dan Uggla, 2B||5||1||1||0||0||0||3|
|Miguel Cabrera, 3B||4||0||2||2||0||0||0|
|Mike Jacobs, 1B||4||0||0||0||0||2||3|
|Wes Helms, 1B||0||0||0||0||0||0||0|
|Josh Willingham, LF||4||0||1||1||0||1||1|
|Taylor Tankersley, P||0||0||0||0||0||0||0|
|Joe Borowski, P||0||0||0||0||0||0||0|
|Jeremy Hermida, RF||3||0||0||0||1||1||1|
|Miguel Olivo, C||4||0||2||0||0||0||2|
|Reggie Abercrombie, CF||4||1||1||0||0||0||2|
|Josh Johnson, P||2||1||1||0||0||0||1|
|Cody Ross, LF||1||0||0||0||0||0||0|
|2B - Miguel Cabrera 2 (, Hernandez, Hernandez), Josh Willingham (, Hernandez)|
|SH - Josh Johnson ()|
|RBI - Hanley Ramirez (), Miguel Cabrera 2 (), Josh Willingham ()|
|2-OUT RBI - Hanley Ramirez (), Miguel Cabrera 2 (), Josh Willingham ()|
|Team LOB - 7|
|DP - Uggla-H. Ramirez-Jacobs|
|Josh Johnson (W,-)||7||2||0||0||3||6||0|
|Joe Borowski (S,)||1||0||0||0||0||1||0|
|Pitches-Strikes - Josh Johnson 102-62, Taylor Tankersley 17-11, Joe Borowski 11-8|
|Ground Balls-Fly Balls - Josh Johnson 7-7, Taylor Tankersley 2-0|
|Batters Faced - Josh Johnson 25, Taylor Tankersley 4, Joe Borowski 3|
|Eric Byrnes, CF||4||0||0||0||0||1||2|
|Orlando Hudson, 2B||4||0||0||0||0||1||1|
|Luis Gonzalez, LF||2||0||0||0||2||1||0|
|Chad Tracy, 3B||4||0||0||0||0||0||1|
|Johnny Estrada, C||4||0||1||0||0||1||1|
|Shawn Green, 1B||3||0||0||0||0||3||2|
|Carlos Quentin, RF||2||0||0||0||1||0||1|
|Stephen Drew, SS||3||0||1||0||0||1||1|
|Livan Hernandez, P||0||0||0||0||0||0||0|
|a- Damion Easley, PH||1||1||1||1||0||0||0|
|Brandon Medders, P||0||0||0||0||0||0||0|
|a-homered for Hernandez in the 8th|
|HR - Damion Easley (, Tankersley)|
|SH - Livan Hernandez 2 ()|
|RBI - Damion Easley ()|
|Team LOB - 4|
|Livan Hernandez (L,-)||8||10||4||4||1||4||0|
|WP - Livan Hernandez ()|
|Pitches-Strikes - Livan Hernandez 95-65, Brandon Medders 9-7|
|Ground Balls-Fly Balls - Livan Hernandez 8-12|
|Batters Faced - Livan Hernandez 35, Brandon Medders 3|
|Attendance - 21950|
|Game Time - 2:12|
|Temperature - 78|
|Umpires - Home - Doug Eddings, First Base - Dana DeMuth, Second Base - Jim Joyce, Third Base - Paul Schrieber|