Andrew Benintendi added two hits and Robert homered for the second straight game, raising his season total to 21, as the White Sox won their first series in four attempts. Chicago had lost nine of its last 13 games.
"If he hits pitches in the strike zone, he's going to do unbelievable damage and that's what he's done the last few days," manager Pedro Grifol said about Robert. "He's hunting for off-speeds up. He's hitting fastballs. He's not chasing as much. He's a really damn good player. And he's still 25 years old. He's still learning the game. ... There's no doubt in my mind this guy's an All-Star."
Chicago's Jesse Scholtens (1-2) threw four scoreless innings to earn his first major league win. Keynan Middleton pitched a 1-2-3 ninth for his second save.
Adam Duvall had two doubles for the Red Sox, who had won seven of 10.
"Unfortunately, we're right at a .500 team, kind of going back and forth winning and losing," right fielder Rob Refsnyder said. "We gotta figure it out."
Robert hit a two-run drive in the fourth and a solo shot in the sixth off Kutter Crawford, who gave up four runs in six innings.
"Being able to play every day, I feel (I'm) getting better every day," Robert said.
Benintendi doubled to extend Chicago's lead to 3-1 in the fifth. He advanced to third after first baseman Triston Casas opted to throw to second instead of home.
"We've got to hit the cutoff man on the first one," Boston manager Alex Cora said. "We overthrew that one. It's a tough situation there. As an infielder, you have to keep looking back."
Gavin Sheets scored after drawing a walk.
"I take accountability for that for sure," Refsnyder said. "Got to hit the first cut and kind of see what's going on there."
Robert put the White Sox ahead 2-1 in the fourth. He entered the game tied for second in the AL for homers. Benintendi scored after reaching on a single to lead off the inning for Chicago's first hit.
Duvall doubled off opener Tanner Banks after back-to-back walks, giving Boston a 1-0 lead in the third.
Banks allowed a run in 2 2/3 innings.
The Red Sox left the bases loaded in the second when Caleb Hamilton struck out looking.
First baseman Bobby Dalbec made his first start for Boston since April 13. He was recalled from Triple-A Worcester on Friday. Casas pinch hit for Dalbec in the third.
Hamilton got his first start since Oct. 5 with Minnesota against the White Sox.
RED SOX: LHP James Paxton (right knee soreness) was feeling well after exiting Saturday's game against Chicago after four innings, Cora said. Paxton is expected to start Friday at Toronto. ... LHP Joely Rodriguez (left shoulder inflammation) will possibly pitch another rehab outing, Cora said. Rodriguez has allowed two runs in 1 1/3 innings with Triple-A Worcester. … INF Yu Chang (left hamate fracture) is swinging the bat and feeling better, Cora said. ... LHP Richard Bleier (left shoulder inflammation) and RHP John Schreiber (right upper back strain) have been playing catch up to 120 feet.
WHITE SOX: Grifol said he doubts RHPs Liam Hendriks (right elbow inflammation) and Mike Clevinger (right biceps inflammation) will return from the injured list before the All-Star break. … SS Tim Anderson (right shoulder soreness) was out of the lineup for rest after he played second base for the first time in the majors Friday and Saturday. Grifol said he expects Anderson to play shortstop when he returns. … C Yasmani Grandal (jaw contusion) exited after five innings.
Red Sox: RHP Garrett Whitlock (4-2, 4.50 ERA) is scheduled to start Tuesday against Marlins RHP Sandy Alcantara (2-6, 5.08) in Miami.
White Sox: RHP Dylan Cease (3-3, 4.22) will go Monday at the Los Angeles Angels, who will start LHP Reid Detmers (1-5, 4.02).