Talk about a lift for the Pittsburgh Pirates, who rank last in the majors in runs but just keep winning anyway.
The 250-pound Barajas scored the Pirates' second run when he used a nifty slide to avoid the tag from Humberto Quintero following Clint Barmes' single in the second. Alvarez made it 4-2 an inning later when he took off from third after Jose Tabata was picked off first but got into a rundown.
"These are the small things we have to do to win ballgames as a team that's not going to go out and hit three-run homers every night," Walker said.
Bedard (4-6) allowed two runs and five hits as Pittsburgh captured the opening game of a series for the sixth consecutive time. The Pirates (30-27) also moved three games over .500 for the first time this season and trail NL Central-leading Cincinnati by two games after taking two of three from the Reds in their previous set.
"Dance moves, I think," is how the 36-year-old Barajas described his dive to the inside of home, roll over and lunge to extend his finger tips to the plate.
"Unbelievable," Walker deadpanned. "Everyone knows he's one of the fastest guys on the team, but when you slide like that, you're not going to get thrown out too many times at home."
Pirates players laughed in the dugout. These are heady times for a team that has endured a major North American sports-record 19 consecutive losing seasons.
Alvarez waited to take off for home until Royals first baseman Billy Butler was running toward second and about to release a throw to get Tabata.
"I think if both teams had it to do over, we'd both like to perform it better," Pirates manager Clint Hurdle said of the caught stealing and rundown. "But we were able to steal a run right there."
Yuniesky Betancourt drove in a run and scored for the Royals, who have lost four of six.
Playing its first interleague road game, Kansas City had three players out of position. Butler, the regular designated hitter who leads the team with 11 homers, made his third start at first. First baseman Eric Hosmer was in right field. And Jeff Francoeur moved from right to center.
Francoeur had three prior innings of experience in center, and Hosmer never had played right in the majors. All that shuffling had an effect on the game, too.
Hosmer misplayed Barajas' leadoff single in the second, allowing him to move up a base. Butler was prominent in the botched rundown.
"It's going to take them a game or two to get acclimated because they're playing out of position," Royals manager Ned Yost said. "Those plays hurt us early, and we couldn't get much offense going after that."
Garrett Jones doubled in Walker in the first, and Walker's infield hit drove in Barmes to make it 3-0 in the second.
Betancourt hit an RBI double in the third and scored on Mike Moustakas' base hit to get the Royals within one.
Luke Hochevar (3-7) remained winless in his past six outings, allowing four runs and nine hits in six innings.
"Even though I gave up some runs early, I was able to keep my pitch count down and keep us in the game," Hochevar said.
The Royals recalled 1B Clint Robinson to add an extra bench bat for the nine games in NL parks they have over the next 13 days. Robinson made his major league debut, striking out as a pinch hitter to end the game. LHP Ryan Verdugo was optioned to Triple-A Omaha. ... Pirates RHP Jeff Karstens underwent an MRI a day after leaving a rehabilitation start for Triple-A Indianapolis. Karstens, who is on the disabled list because of inflammation in his right shoulder, injured his hip and is day to day. ... Pirates RHP James McDonald (5-2, 2.14) has won five of his past six decisions and ranks second in the NL in ERA heading into Saturday's start. RHP Vin Mazzaro (2-0, 2.25) will start for Kansas City five days after pitching six shutout innings in his most recent outing.