Cleveland rookie starter Danny Salazar was the only pitcher used for more than two innings. He was lifted after 3 2/3 innings, having given up four hits and two walks with nine strikeouts. One of the walks and one of the hits came in the fourth inning before reliever Nick Hagadone got out of the inning without giving up a run.
Bryan Shaw (4-3), who limited a Chicago rally to one run in the fifth, collected the win with two innings of one-hit relief. Perez ended up with his 24th save.
The Cleveland pitchers combined to allow nine hits and four walks but the only run the White Sox managed came in the fifth on a walk by Hagadone, a sacrifice, two groundouts and a Konerko single that cut the Cleveland lead to 3-1
The Indians had just seven hits in the game, six of them -- and all three runs -- off Hector Santiago (4-9).
Asdrubal Cabrera singled, stole a base and scored on a Drew Stubbs base hit in the fourth. The next inning Nick Switzer walked, took second on a Jason Kipnis single and scored when Ryan Raburn doubled.
Cabrera was hit by a pitch, loading the bases, and Michael Brantley delivered a sacrifice fly for a 3-0 Cleveland lead.
N.J. man wakes up from 10-hour sleep with knife in back
Police: Sword-wielding man demanded free tacos