DeShields' bunt drove in Jose Ramirez, who started the inning on second as part of baseball's extra-inning rule for the pandemic-shortened season. Mike Freeman added a two-out RBI single that gave Cleveland a 5-3 lead.
Veteran left-hander Oliver Perez got the final two outs following a 46-minute rain delay for his first save. It was just the fifth save of his 18-year career.
Phil Maton (1-0) pitched a scoreless inning for the win. Jimmy Codero (0-1) allowed two runs, one earned, in the loss.
Jose Abreu and James McCann homered for Chicago.
Ramirez, who made the last out in the ninth, advanced to third in the 10th on a one-out infield single by Carlos Santana and scored on DeShields' safety squeeze. One out later, Freeman singled to center to drive in Santana.
''It's been a part of my game since I started playing professional baseball,'' DeShields said of the squeeze bunt. ''I'm very comfortable doing it. Sometimes, that's what it takes to get a rally going.''
In the bottom of 10th, with the rain turning from light to heavy, Nomar Mazara started on second and advanced to third on a flyout by Luis Robert. McCann followed with a fly to short center that dropped in front of Bradley Zimmer - who appeared to slip as he started to come in - for an RBI single.
''This one hurts a little bit,'' Chicago manager Rick Renteria said. ''They really battled today. It was a really good ballgame, one that we wanted to be on the other side of. We have to be more efficient, more effective and better.''
When the delay was over, Perez got Leury Garcia to pop out and struck out Yoan Moncada to close it out.
The game started as a battle of young aces with Lucas Giolito outdueling Shane Bieber.
Giolito allowed two runs and four hits in seven innings while striking out nine and walking five. Giolito retired the final seven batters he faced, including striking out the side in the seventh, and left with Chicago holding a 3-2 lead.
Bieber allowed three runs in six innings while striking out eight. His ERA nearly doubled from 0.83 to 1.63.
''It was up and down,'' Bieber said of his start. ''I felt like in the middle of the game I got in a groove but they took advantage of some mistakes.''
PLESAC SENT HOME
Indians pitcher Zach Plesac was sent back to Cleveland in a car service after violating team rules and Major League Baseball's coronavirus protocols. The 25-year-old Plesac went out with friends in Chicago on Saturday following his win against the White Sox.
''We love Zach, we support Zach, but he screwed up,'' Bieber said. ''We're going to handle this in house and we'll see where it goes from here.''
Before the game, Chicago designated right-hander Drew Anderson for assignment and recalled right-hander Jose Ruiz from its alternate site. Anderson had been added to the active roster before Saturday's game. He allowed six runs in 1 1/3 innings to earn the loss in Cleveland's 7-1 win.
White Sox: DH Edwin Encarnacion (left shoulder inflammation) missed his fifth straight game. He is improving and was scheduled to do more aggressive work in the batting cage Sunday night. ... SS Tim Anderson (strained right groin) will travel with the team to Detroit and is expected to test the injury with a full workout on Monday.
White Sox: LHP Dallas Keuchel (2-1, 2.55 ERA) takes the mound Monday night in the opener of a three-game series at Detroit.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports