Chicago: The White Sox waited through a rainout and a lengthy delay to get the win they sorely needed.

Melky Cabrera homered and had four RBIs, Matt Davidson went deep and Avisail Garcia drove in three runs to lead Chicago over the Detroit Tigers 8-2 on Friday night after the first game of their double header was postponed because of rain.

Garcia, Cabrera and the surging Jose Abreu each had three hits, and the White Sox opened a seven-game homestand on a winning note after dropping seven of 10 out West.

The postponement was the 26th this year — one more than all of last season, according to Major League Baseball.

The teams waited out an 85-minute delay at the start of Game 2. It finally began at 8:35pm and didn’t end until 12:17am.

“It was a long day,” Abreu said through an interpreter. “It was a very long day.”

Particularly for the Tigers, who didn’t get to their hotel until about 4am after their trip from Houston. And manager Brad Ausmus was none too pleased about having to play a double header on Saturday. He thought it would have made more sense to schedule one for when Detroit returns in late August.

“Am I happy with it? No,” Ausmus said. “It’s awful, actually. It’s a terrible schedule.”

Garcia’s three-run double off Matthew Boyd (2-5) with two out in the third gave Chicago a 3-1 lead.

Davidson homered off Blaine Hardy to lead off a two-run sixth that made it 5-2, and Cabrera added a three-run drive off Chad Bell in the eighth.

Abreu had three singles and scored a run. He is 16 for 33 in a seven-game hitting streak.

“I think that the things you are seeing right now are the results of my work, especially in the cage with the hitting coach and the assistant hitting coach,” he said. “My approach in each at-bat, I think that that’s been the key for me.”

Mike Pelfrey (2-4) worked five innings against his former team, allowing two runs (one earned) and four hits. Released by the Tigers on April 3, the right-hander struck out seven and walked one.

Detroit’s Alex Avila cut it to 3-2 with a solo homer in the fifth. Boyd gave up three runs and nine hits in 4 2/3 innings.

Results

(Home team in CAPS)

COLORADO 10 St. Louis 0

Arizona 4 MILWAUKEE 2 (10 innings)

HOUSTON 2 Baltimore 0

Tampa Bay 5 MINNESOTA 2

Kansas City 6 CLEVELAND 4

MIAMI 8 LA Angels 5

BOSTON 3 Seattle 0

TORONTO 7 Texas 6

Cincinnati 5 PHILADELPHIA 2

NY Mets 8 PITTSBURGH 1

Oakland 4 NY YANKEES 1

WASHINGTON 5 San Diego 1