DETROIT -- Zach McAllister gave up lots of runs in the middle innings last season.
This year? So far, so good.
McAllister (2-0) walked two and struck out four.
"He used his fastball well early in the game," Cleveland manager Terry Francona said. "It was a great effort. He kept us off the field."
The Tigers had runners on first and second with one out in the fourth, but McAllister got Nick Castellanos on a flyball that center fielder Michael Bourn ran down in deep right-center and then elevated a fastball to strike out Alex Avila swinging on a 3-2 pitch to end the inning.
"That was a big inning for me," McAllister said. "The middle innings was where I couldn't get out of trouble last season."
John Axford pitched the ninth for his fifth save for Cleveland, which had lost 18 of its previous 23 against Detroit.
Axford got out of a jam with a runner on third to seal the win. Avila doubled and went to third on Bourn's error with one out. Axford then struck out pinch-hitter Don Kelly and got Rajai Davis on a groundout to end the game.
Brian Shaw pitched a scoreless seventh, but Cody Allen gave up an unearned run in the eighth when Francona called for a replay review on the play at first base on a bunt single by Detroit's Ian Kinsler and the safe call was upheld. That put runners on first and second with no outs. Torii Hunter grounded into a double play -- after not being able to get a sacrifice bunt down -- and Miguel Cabrera singled to make it 3-2. Victor Martinez followed with a single, but Allen fanned Austin Jackson to end the inning.
Miguel Cabrera drove in both runs for the Tigers. Detroit starter Anibal Sanchez (0-1) gave up three runs -- two earned -- and two hits in five innings, walking four and striking out eight.
"The cold was just incredible. I've never pitched in this kind of weather in my life," Sanchez said. "Even in Minnesota, it has always been in the 40's, and today it was more like 30. In the first inning, I never got warm.
"After that, I got a little better and I was able to get ahead of the hitters."
All players on both teams wore No. 42 in observance of "Jackie Robinson Day." Tuesday was the official celebration around the majors, but the game between Detroit and Cleveland was postponed due to inclement weather. It was 42 degrees when the game began Wednesday night. ... Bourn made his season debut after missing the first 13 games with a left hamstring strain he suffered during spring training. Bourn came off the disabled list Tuesday. He was 0 for 4 with a walk and a run scored. ... Due to early season postponements, Detroit LHP Drew Smyly -- the Tigers' fifth starter -- has yet to start a game. He has made two relief appearances and hasn't allowed a run in six innings. Smyly is scheduled to make his first start Friday. ... Thursday afternoon's scheduled starters are RHPs Justin Verlander (1-1, 2.57 ERA) for the Tigers and Danny Salazer (0-1, 6.75) for the Indians.