With the bases loaded and two out in the seventh, Teahen drew a walk from Aaron Fultz to force in the winning run in Kansas City's 4-3 victory over the AL Central leaders.
"All the scouting reports showed him throwing a lot of strikes, not walking too many guys," Teahen said. "I was expecting to hit in that situation."
Instead, Fultz threw four straight balls.
"I got out there and my mechanics were bad," Fultz said. "I was jerking the ball and I didn't make the adjustment to throw strikes. In that situation, you've got to throw strikes and make them hit it to beat you. I'd rather him get a hit than a walk."
The Royals won for the seventh time in their last nine games, while the Indians -- whose 17-4 home record is the best in the majors -- fell to 10-12 on the road.
Teahen's walk forced in John Buck, who singled with one out against Tom Mastny (3-2).
Mastny opened the seventh in relief of starter Fausto Carmona, whose scoreless streak ended at 19 innings. He got a no-decision after winning his previous five starts.
Zack Greinke (2-4), the fourth pitcher the Royals used in the seventh inning, stayed on through the eighth and earned the win with his fifth straight scoreless relief appearance.
"Someday, he's got a chance to go back to the rotation," Royals manager Buddy Bell said. "But for now, he's pitching great, his arm's fast. He's doing a great job."
Greinke reached the upper 90s with his fastball several times against Cleveland. Buck said that's the biggest difference between Greinke the starter and Greinke the reliever.
"Now, he doesn't have to pace himself," the catcher said. "His velocity's up -- 97, 98 mph -- and his other stuff just seems to feed off of it. When someone's throwing 97, 98, you've always got to look for that, and we all know Zack's got other good stuff."
Joakim Soria pitched the ninth for his 10th save in 13 tries.
Carmona went six innings, giving up three runs and nine hits with one walk.
Buck's RBI single snapped Carmona's streak with one out in the fifth, getting the Royals within two. Mike Sweeney hit a two-run homer on an 0-2 count with two out in the sixth to tie it at 3.
"I was surprised that he hit the ball deep, because it was a good pitch," Carmona said through an interpreter. "He is a very good hitter, but still I feel like I made a good pitch."
It was just the pitch Sweeney was expecting, though, after watching tape of Carmona's 2-0 shutout of Minnesota on Thursday.
"Every time he'd get two strikes on a big right-hander, he'd pound a fastball in," Sweeney said. "I was just hoping he'd stay true to form -- and it was still a good pitch."
Victor Martinez hit a two-out, two-run homer in the first inning for the Indians, and Jason Michaels added an RBI double with two out in the fifth for a 3-0 lead.
All three runs came against Royals starter Odalis Perez, who got his second straight no-decision and his third in his last four starts.
He went six-plus innings, giving up three runs and seven hits with one walk and six strikeouts.
The teams combined to use seven pitchers in the seventh.
The Royals used Perez, David Riske, Jimmy Gobble and Greinke, and Cleveland used Mastny, Fultz and Betancourt.
Even with the no-decision, Carmona extended his string of starts without a loss to seven. His only defeat came in his first start on April 13. ... Martinez's first-inning homer was the 10,999th in Indians franchise history. ... Kansas City activated RHP Octavio Dotel, who had been on the disabled list with a strained left oblique since the last week of spring training. Manager Buddy Bell said he would use Dotel in short relief and ease him into the closer's role. ... Bell had his right knee wrapped but walked into the dugout without crutches on Tuesday, one day after undergoing arthroscopic surgery. ... Kansas City designated right-hander Jason Standridge for assignment to make room for Dotel.