CHICAGO (AP) -- Corey Kluber has been too good for too long for the Indians to panic over a few rough starts.
Cleveland's ace returned to form Friday night, a welcome -- if unsurprising -- sight for the reigning AL champions.
Kluber pitched a three-hitter and faced two over the minimum, leading the Indians over the Chicago White Sox 3-0.
More from FoxSports
Kluber (2-1) faced 29 batters in his fourth complete-game shutout and first since June 21, 2016 against Tampa Bay. Only one Chicago runner reached second base, and Kluber struck out nine, walked two and threw 110 pitches.
Kluber entered with a 6.38 ERA over three starts this season, hampered mostly by allowing five homers in 18 1/3 innings.
"That was so nice to see," Indians manager Terry Francona said. "He threw the ball so well, and he got some real good defense. … But when you're pitching like that, you're going to get good defense."
Cleveland had just six hits, but found enough offense to win its fourth straight. Austin Jackson doubled and scored on a wild pitch in the third, and Brandon Guyer hit a two-run homer in the fourth -- his first of the year.
"We did some really good things," Francona said. "It looks good because it was crisp and we got a well-pitched game and we caught the ball. That's a good way to play."
The middle of Chicago's order had no answer for Kluber. The Nos. 3 through 7 hitters went 0 for 15, and Avisail Garcia failed to reach base for the first time this season.
Garcia entered the game leading the majors with a .423 batting average, and he ranked second with a 1.137 OPS.
"He threw very, very well, obviously," White Sox manager Rick Renteria said of Kluber. "Even getting into the ninth inning, he still was very effective. His ball was moving quite a bit."
Jose Quintana (0-4) took a fifth straight loss dating to last season. The left-hander allowed three runs, five hits and three walks while striking out six in six innings.
Chicago is 3-7 in its last 10 at Guaranteed Rate Field.
ON THE MOVE
Cleveland's Yandy Diaz was sent to Triple-A Columbus, where he could also play in the outfield. "There's a lot of chance he's going to be a really good hitter," Francona said of Diaz, 25, who hit .236 and scored nine runs in 15 games.
STILL ON THE SCHNEID
White Sox outfielder Jacob May, now through the 10th game of his major league career, remains without a hit. The 25-year-old went 0 for 2, moving his mark to 0 for 26.
Indians: 2B Jason Kipnis (sprained right shoulder) was activated from the 10-day disabled list and made his regular-season debut. He went 0 for 3 with a run.
White Sox: RHP James Shields was placed on the 10-day DL prior to Friday's contest with a strained right lat. … 3B Todd Frazier returned after a four-game absence because of a stomach illness. He lost 10 pounds in the process. … Renteria said C Geovany Soto (inflamed right elbow) "looked real good" in a pregame throwing drill and his status would be re-evaluated shortly. … LHP Carlos Rodon (sore left bicep) will be re-examined this weekend. He's on an exercise program but has yet to throw off a mound. … C Kevan Smith was optioned to Triple-A Charlotte after the game.
Indians: RHP Carlos Carrasco (1-1, 2.33 ERA) takes the hill Saturday. The 30-year-old is 3-9 with a 5.31 ERA in 18 career outings against Chicago, but he stifled the White Sox to just one run over seven innings on April 11.
White Sox: RHP Mike Pelfrey (0-0, 0.00) joins the White Sox from Triple-A Charlotte to take the place of Shields (strained right lat). Pelfrey posted a 7.50 ERA through two minor league outings.