Haniger went to the ground immediately after fouling off the pitch from Shane Bieber, and Cleveland catcher Austin Hedges waved to the Seattle dugout for help. Haniger slowly got to his feet and was assisted off the field by manager Scott Servais and a trainer.
He appeared to be putting some weight on the leg as he was helped from the dugout to the clubhouse.
Mariners manager Scott Servais said X-rays showed a deep bone bruise and Haniger will likely have more tests on Monday with the team back in Seattle.
J.P. Crawford, who singled and stole second to begin the game, had a clear view of Haniger's at-bat.
"I just knew,'' Crawford said. "It didn't look good. I felt bad for him, but we need him. Hopefully he gets back sooner than later.''
Seattle has used a major league-high 51 players this season. Haniger has 16 home runs and 40 RBIs.
Haniger made the All-Star team in 2018 when he hit .285 with 26 homers and 93 RBIs, but he has battled injuries since then. He was limited to 63 games in 2019 and didn't play last season because of sports hernia surgery and a discectomy to resolve back pain.
The Associated Press contributed to this report.