McAllister scattered two runs over 3 1/3 innings in the start, while his counterpart Jeremy Guthrie gave up three runs (two earned) in the first three innings.
Cleveland had nine baserunners in the first three innings against Guthrie, including its first three batters of the game. Michael Bourn walked to lead off before Nick Swisher and Jason Kipnis singled. A Guthrie throwing error helped give Cleveland a 2-0 lead.
Kansas City got one back in the second when Mike Moustakas singled to lead off the frame and scored on a grounder after a Lorenzo Cain single and a sacrifice bunt. Hosmer hit his second homer of the spring to tie it in the third.
"We know what they can do and they know what we can do," McAllister said of facing a division rival. "We face them enough throughout the year where the book's already out on guys. It's not like anything drastic is going to change. It's about executing pitches and for them being able to put the ball in play and be successful."
Cleveland took the lead once again in the third when Kipnis was hit by a pitch and eventually came around to score on a Jeff Francoeur single. But Kansas City plated two more in the fifth when Hosmer doubled and scored on a Carlos Peguero single, and Moustakas drove in Billy Butler with a sacrifice fly. Ramon Hernandez also drove in a run in the sixth.
The Indians' bench players poured it on in the latter innings, plating four in the seventh and five in the eighth. Elliot Johnson homered as part of a two-hit effort.
Up next: After a pair of home games, the Tribe will hit the road on Friday to take on the division rival White Sox at Camelback Ranch at 4:05 pm. ET on MLB.TV. Righty Josh Tomlin will look to improve on his 1-0 mark in Cactus League play against Chicago's Dylan Axelrod.