BALTIMORE -- The Baltimore Orioles took care of their own business Wednesday night. The Kansas City Royals helped a little, too.
J.J. Hardy hit a two-run, second-inning homer, the Royals committed three errors in the Orioles' three-run fifth inning, and Baltimore earned a 5-3 victory at Oriole Park.
The Orioles (21-13) have won four in a row and five of their last six.
Chris Tillman (3-1) pitched six solid innings for the Orioles, giving up three runs on five hits before giving way to the bullpen. Troy Patton, Darren O'Day and Brian Matusz combined to take care of the seventh and eighth before Jim Johnson closed out the game.
Johnson recorded his 13th save, tied with Pittsburgh's Jason Grilli for the major league lead. Also, Johnson tied a club record by converting a 34th straight save opportunity. Randy Myers set the mark in 1997-- the last time the Orioles won the division.
"I don't want to say we're playing the best baseball we can," said Baltimore third baseman Manny Machado, who had an RBI single and stole a base. "There's definitely some more improvement we have to go. We're playing good baseball, getting guys over when we need to, getting guys in, playing great defense, the bullpen's pitching well."
Tillman won his third consecutive start, going deep into the game despite occasional command problems.
"I had to battle through some stuff tonight; my stuff wasn't where it should be," he said. "I had to throw all my pitches tonight to be effective. I was able to get to the fifth or sixth inning, and I made some bad pitches there."
The Orioles got things started in the second inning off Royals starter Luis Mendoza (0-2) when Hardy hit a two-run home run to give Baltimore a 2-0 lead.
After the Royals got one back on an Alex Gordon home run in the fifth, Baltimore extended its lead later the same inning -- helped out by Kansas City miscues.
Shortstop Alcides Escobar committed two errors in the inning, and catcher George Kottaras was charged with one as well. Mendoza also threw a wild pitch, all of which allowed the Orioles to push across three runs with only two hits in the inning.
Kansas City (17-13) did get two runs back on a two-run homer from Mike Moustakas in the sixth inning but couldn't do anything more.
Hardy's home run was his sixth of the season and his third in the last four games.
"I feel better. I've been grinding," Hardy said. "I still feel I could get more comfortable, but I'll take the results for sure."
Gordon's home run to right was his fifth of the season and second in the series.
In the decisive bottom of the fifth, Machado's single knocked in Chris Dickerson for a 3-1 Orioles lead. Nate McLouth moved to third on the play.
On the next pitch, Machado stole second and Escobar dropped the ball, prompting McLouth to head for home. McLouth scored, and Kottaras was charged with an error, giving Baltimore a 4-1 lead.
Escobar's throw home was off the mark, letting Machado get to third. One pitch later, Mendoza uncorked a wild pitch that let Machado score and put Baltimore up 5-1. The Orioles scored twice with Nick Markakis at the plate, and he didn't have to do anything.
"I can't believe that I made stupid errors like that," Escobar said. "I can't believe I threw the ball away like that."
The Orioles have been more aggressive recently with their baserunning, putting pressure on opposing teams.
"I think we've run the bases well the last couple of nights, made some things happen there. Trying to take advantage of what's there and what's not," Orioles manager Buck Showalter said.
NOTES: Attendance was 12,344. ... Baltimore CF Adam Jones extended his hitting streak to seven games with a first-inning single. He is now two games away from his season high and has reached safely in 32 of 34 games this season. ... Orioles 2B Brian Roberts will undergo right hamstring surgery Thursday in Dallas and will be out six weeks for recovery. He will then report to Sarasota, Fla. Roberts injured the hamstring April 4 against the Tampa Bay Rays when he slid into second base. ... Mendoza made his fourth career start against the Orioles, whom he beat for his first-ever major league win in 2007. ... Gordon led the majors coming into the game with a .454 batting average when hitting with two outs, and he added to that with his two-out home run in the fifth. He has 16 two-out RBIs, trailing only Miguel Cabrera and Allen Craig.