KANSAS CITY, Mo. (AP) -- The Yankees were determined to keep Ivan Nova 's impressive winning streak intact. The only question was whether he would be around long enough to reap the rewards.
It turned out he was. Just barely.
Nova survived into the fifth inning in his shakiest outing in months, and Robinson Cano 's three-run homer into the Kauffman Stadium fountains gave him a lift. Russell Martin and Derek Jeter each added a pair of RBIs and the Yankees went on to beat the Kansas City Royals 9-7 on Tuesday night.
"A win is a win, no matter the way you get it," said the soft-spoken Nova (12-4), who tied Andy Pettitte and Orlando Hernandez for the most wins by a Yankees rookie in the past three decades.
Nova has won eight straight decisions going back to a 3-2 defeat to the Los Angeles Angels on June 3.
"We won the game. Bottom line is we won the game," manager Joe Girardi added. "He doesn't need a mulligan. I mean, he's pitched really well. Great pitchers get hit. It's going to happen."
Nova finally departed with one out in the fifth, and Boone Logan , Rafael Soriano and David Robertson shepherded the game to Mariano Rivera . The veteran closer pitched another perfect ninth for his 32nd save, his second in as many nights, and his 27th in a row against Kansas City dating to May 2, 1999.
The Yankees (74-46) moved a season-best 28 games over .500 and a half game ahead of the Boston Red Sox in the AL East with their 16th win in their last 22 games.
Melky Cabrera hit a solo homer against his former team, and Jeff Francoeur drove in a pair of runs as the Royals took a 5-3 lead through three innings. But the Yankees blew the game open with a five-run fourth, which included a stretch of five consecutive hitters reaching to start the inning. Cano delivered the biggest blow, a rocket shot into the fountains in right field to finish off a 12-pitch at-bat and knock Danny Duffy from the game.
"He saw a ton of pitches - he fouled off a lot of tough pitches. It's just as good as it gets. That's a great at-bat," Girardi said. "He can hit anything, that's the bottom line."
The 22-year-old Duffy (3-7) allowed eight runs and eight hits, walked two and hit two after mowing through the first three batters he faced in just 11 pitches. He ended up throwing 90 before he was done.
"It's a pretty big heartache to lose a game like that," Duffy said.
Especially the way things started out.
Billy Butler hit a two-out single in the first inning, Eric Hosmer followed with an RBI double and Francoeur lined a single - and suddenly the Royals had a 2-0 lead.
Then Duffy's command failed him, and New York pulled ahead in the third.
The left-hander plunked Curtis Granderson with one out, walked Mark Teixeira , allowed an RBI single to Cano and walked Nick Swisher to load the bases. Royals manager Ned Yost came out to the mound, but the brief visit didn't seem to do much good. Martin's two-run double moments later gave New York the lead.
Kansas City answered the three-spot with three runs of its own in the bottom of the inning. Alcides Escobar started the rally with a triple to left, and Alex Gordon 's chopper to third base brought him home. Cabrera followed with his 16th homer, and Butler singled and Francoeur doubled to give the Royals a 5-3 lead.
Then came the Yankees' eventful fourth inning, which included: a leadoff bunt single by Brett Gardner ; an RBI double by Jeter; back-to-back singles by Granderson and Teixeira; Yost getting tossed for the third time this year; and Cano's 21st homer of the season, estimated at 421 feet.
"Just arguing balls and strikes. I thought there were a number of pitches that Duffy made that weren't getting called and put him in a hole," Yost said of his ejection. "The Yankees have earned their reputation and they are a good club. I saw it for 12 years in Atlanta with the Atlanta pitchers. You have to earn your respect from the umpires. You have to kind of earn your way to get those pitches. It just takes time.
"It's not right. If you make a pitch, you should be given the pitch, but sometime that's just the way it is."
The Royals finally knocked Nova out of the game when Salvador Perez 's two-run double in the sixth pulled them within 8-7, but New York added to its cushion with its final run in the seventh.
Nova was ultimately charged with seven runs on nine hits in 5 2-3 innings. It was his worst start since he gave up eight runs on 10 hits in three innings against the Royals on May 12 at Yankee Stadium.
This time, though, he at least earned the win.
"He threw some good sliders and some good curveballs," Girardi said, "but it seemed when he made a mistake, and with two strikes, they hit it."
Notes: Yankees RHP Freddy Garcia threw some fastballs and changeups in a bullpen session while testing out the finger he sliced in a kitchen mishap. Girardi said he's not sure when Garcia will return, but it will likely be this weekend at Minnesota. ... Yankees 3B Alex Rodriguez (knee surgery) went 1 for 3 while playing six innings in a rehab game for Triple-A Scranton-Wilkes Barre. ... Royals LHP Bruce Chen faces Yankees RHP Bartolo Colon in the series finale Wednesday night.