Burnett (3-5) allowed three runs and eight hits in six innings. He struck out five and walked two to stop his two-game losing streak. Burnett, who signed a five-year, $55 million contract in the offseason, missed two months with elbow problems.
He lasted just four innings in each of his previous two starts during a 2-8 road trip that manager John Gibbons said would make or break the Blue Jays' season.
"We were in bad slump," Burnett said. "We all could have easily just shut it down, but there is so much heart in here."
Contreras (10-4) lost for the fourth time in his last five starts. The Cuban right-hander allowed five runs and six hits in 6 2/3 innings.
"He lost it. He lost it for one inning," Chicago manager Ozzie Guillen said.
Jim Thome went 2-for-3 for the White Sox, who finished 6-3 on their road trip.
"We did good against A.J., but he settled down and had a good game," Guillen said.
Fans booed after Toronto fell behind 3-0, but the Blue Jays rallied with a four-run fourth inning. Vernon Wells doubled in a run and scored on Alex Rios' double. Hill added a two-run single to give Toronto a 4-3 lead.
Hill said the victory provided relief.
"Now we can take a deep breath," Hill said. "We can relax. We don't have to go out there and try to win. We can just go out there and play."
Catalanotto doubled in a run in the seventh and Wells singled him in to make it 6-3.
Scott Schoeneweis, Justin Speier and B.J. Ryan each threw a scoreless inning of relief for the Blue Jays.
"This is a load off," Gibbons said. "Nobody likes to go through that. We got too good of a team to stay in that for too long."
Jermaine Dye singled in Thome in the first and Paul Konerko hit an RBI single in the third for the White Sox. Konerko's single drove in Thome, who doubled in Scott Podsednik.
Bengie Molina's homer off David Riske made it 7-3 in the eighth.
- Toronto's seven-game losing streak was its longest since it lost nine straight from April 24-May 3, 2002.
- The White Sox begin an 11-game homestand Monday with a makeup game versus the Los Angeles Angels.
- Hill returned after missing Saturday's game with food poisoning.
- 3B Joe Crede missed the game with a stiff back, but his injury is not considered serious and he's expected to return for Monday's game against the Los Angeles Angels.