Cabrera also hit three singles. His two-run drive made him the ninth player to reach 2,000 hits before turning 31.
Miguel Gonzalez (0-1) allowed seven runs and nine hits in 3 1-3 innings.
The game was delayed 10 minutes at the start and 34 minutes in the fourth on a chilly day.
Orioles shortstop J.J. Hardy sat out because of light spasms in his lower back.
Baltimore arrived in Detroit in the wee hours of the morning after a night game at home Thursday. The Orioles looked fine while scoring two runs in the first against Sanchez, but Gonzalez couldn't hold the lead for long.
He allowed two doubles, a single and a walk and hit two batters in the second, allowing Detroit to score three runs. Rookie Nick Castellanos hit an RBI double and, after a run-scoring single by Ian Kinsler tied the game, the Tigers went ahead when Davis scored on a wild pitch.
After singles by Castellanos and Andrew Romine to start the Detroit fourth, the game was delayed by rain with Davis batting. When play resumed, the Orioles left Gonzalez in, and Davis made it 6-2 with a three-run homer. Gonzalez allowed a solo shot to Hunter later that inning and was pulled.
Cabrera's RBI single in the sixth added another Detroit run, and his first homer of the season made it 10-2.
Detroit won its first two games against Kansas City, and the series finale Thursday was rained out. The postponement caused Detroit to push its starting rotation back a day, meaning Smyly's start Saturday would be skipped.
The Tigers needed him Friday, as it turned out. Sanchez allowed two runs and two hits in four innings, walking three and striking out three. Smyly pitched out of a jam in the fifth when an unsuccessful replay challenge by the Tigers left men at first and second with no outs. The Orioles couldn't capitalize.
Chris Davis hit a two-run double in the first for Baltimore.
NOTES: The temperature at game time was 42 degrees. ... Tigers LHP Ian Krol, acquired from Washington for Doug Fister in the offseason, made his Detroit debut with a scoreless eighth. Steve Lombardozzi, who also went to Detroit in that deal, was then traded to Baltimore shortly before the start of the season. He started at 2B for the Orioles on Friday and singled. ... Lombardozzi was called safe at second on a force play in the fifth when Romine, the shortstop, lost control of the ball. The call was upheld after a Detroit challenge. ... Detroit RHP Rick Porcello faces Baltimore RHP Bud Norris on Saturday.