SAN FRANCISCO -- D.J. Carrasco chose the perfect place to pitch his first career complete game.
He grew up across San Francisco Bay in Hayward, and had some 30 friends and family members in the stands at SBC Park to help him celebrate an accomplishment that only a few months ago seemed impossible -- at least at the major-league level.
Carrasco pitched a five-hitter and Tony Graffanino homered and drove in two runs to help the Kansas City Royals snap a nine-game road losing streak with an 8-1 win over the slumping San Francisco Giants on Tuesday night.
"I had a feeling I was going to have success, but I didn't think it was going to be anything like this," Carrasco said. "It's definitely a blessing in disguise being a starter. A couple months ago, you could have told me this would happen and I would be, 'Yeah, right!' I was a reliever in Triple-A. This is Cloud 9."
Emil Brown and Terrence Long each added two RBIs, David DeJesus had an RBI triple and scored twice, and Angel Berroa had a triple among his three hits and scored three runs -- giving Carrasco (2-1) all the run support he needed in the early innings. The Royals hit an SBC Park-record three triples -- Long followed DeJesus and Berroa with a triple to right in the seventh.
Carrasco, a right-hander coming off the best start of his career with six strong innings against the New York Yankees on June 1, pitched another gem. He had never gone longer than six innings, which he'd only accomplished three times previously.
He allowed an RBI single to J.T. Snow in the first, then got 16 straight outs before Deivi Cruz's infield single in the sixth. He retired 26 of his final 29 batters.
Carrasco struck out three, walked none and threw 111 pitches. He has a 0.43 ERA in his last two starts.
"He was outstanding," Royals manager Buddy Bell said. "You hope for a thing like this, for a guy to come out of nowhere and show you things you don't expect. For him, it's got to feel great because of where he's been."
The Royals found success in their first trip to San Francisco despite the blustery conditions.
They matched a season high with a seven-run victory, the third time they've won by such a margin. Kansas City has won by five or more runs only five times.
The team's nine-game road losing streak was tied for the fifth-longest in club history. The Royals avoided dropping 10 in a row away from home for the first time since 2002. The 1997 Royals lost a club-record 12 straight on the road.
"A lot has happened since then," third baseman Mark Teahen said, referring to when the streak began. "We have a new manager. We've put together a good streak since then."
Kansas City improved to 5-2 under Bell, who was hired May 31 following the May 10 resignation of Tony Pena. The team won its first four games with Bell as skipper, but had lost its previous two against Texas.
There is definitely new life in these Royals, and they aren't hiding it one bit.
When the team came out to stretch and take batting practice Tuesday, a bubbly Brian Anderson -- a lefty pitcher on the disabled list with a sore throwing elbow -- hollered to a nearby acquaintance: "There's a complete change of attitude around this team. It's actually fun to come to the ballpark!"
Giants starter Kirk Rueter (2-4) lasted only 4 1/3 innings in his second-shortest outing of the year and saw his winless stretch reach four starts. The left-hander has lost his last two decisions and hasn't earned a victory since beating Houston on the road May 13.
"He didn't have it today," Giants manager Felipe Alou said.
The Giants snapped their season-high eight-game skid in the opener of a doubleheader Sunday against the New York Mets, then lost the nightcap to complete a 1-5 East Coast road trip.
They have lost 10 of 11 overall and five straight at home, and are having a hard time getting their hitting and starting pitching to perform up to par on the same night.
"Nothing is going our way," outfielder Jason Ellison said. "We just need to do a better job. When you're in a funk, everything seems to be magnified. The organization, the fans, and all of us expect better."
Long had his third straight multihit game. ... Giants SS Omar Vizquel missed the game a day after having his lower right wisdom tooth pulled. "There's just a little bleeding," he said. "It started hurting a couple weeks ago. I thought it was a cavity." The tooth grew up sideways, so Vizquel was urged to have the oral surgery right away. He expects to play Wednesday night. If he does, Vizquel will move past Dave Concepcion into sole possession of sixth place on the career list for games at shortstop with 2,179. ... The Royals and Giants played one series previously, with Kansas City taking two of three from June 13-15, 2003. ... The game drew 37,037, but there were a noticeable number of empty seats in the upper deck in left field.