The White Sox skidded into Sunday's game against the Rangers on a four-game losing streak, a suddenly stalled offense made more uncomfortable by the loss of leadoff hitter and center fielder Adam Eaton for a few days.

Jordan Danks and Marcus Semien — being counted on to fill Eaton's roles as he recovers from a strained left hamstring — helped the Sox perk up Sunday in a 16-2 victory over the Rangers at Globe Life Park.

Danks, making his first start in center field this season, sparked an offensive outburst with a two-run homer in the third inning, and Semien, taking over the leadoff role, went 4-for-6 with a key three-run double to help the Sox avoid their first three-game series sweep at Texas since 2007.

Jose Abreu and Dayan Viciedo also hit home runs, and the Sox used a seven-run ninth inning to score their most runs since July 3, 2012, against the Rangers. It was a needed boost as they headed out for a four-game series in Detroit against the American League Central leaders.

"We put together good at-bats," Semien said. "We swung at strikes. We got pitches up and hit the ball the other way. … I'm happy with how we played. I'm happy with how we played defense as well. It was a good overall team win."

Sox right-hander Erik Johnson earned a strange victory after giving up two runs — one earned — on one hit, walking five and striking out two. He walked the leadoff batters in each of the first four innings, but with the help of his defense, he wiggled out of a lot of the trouble, giving up just a run on a sacrifice fly in the third and another on a wild pitch in the fourth.

"Off day today," Johnson said. "Didn't have my command like I wanted to. Five walks is a lot. I gave them way too much for what they got, and I'm just lucky we could turn a few double plays. … It's not the day I wanted, but I'll take it."

Danks, who was called up from Triple A because of Avisail Garcia's season-ending injury, said Sunday morning that he knows his role is to seize an opportunity whenever it arises, and his shot to right field off Rangers starter Robbie Ross Jr. gave the Sox an early 2-0 lead.

"Hopefully (Eaton) is back soon, but until then I look at this as sort of an opportunity and I'll try to make the best out of it," Danks said.