Danny Granger shrugged off a 7-of-20 shooting night for 18 points and 10 rebounds for the Pacers, who stopped a five-game road losing streak and continued their late-season postseason charge.
Williams scored eight of his 10 points in the fourth quarter -- including the go-ahead 3-pointer -- to help the Pacers outscore the Bulls 35-17.
"Shawne Williams gave us a great lift," Granger said. "I wasn't shooting well all night, and Mike carried us for most of the game and Troy Murphy carried us most of the game."
Indiana pulled into a tie with New Jersey for ninth place in the Eastern Conference. The Pacers trail the Atlanta Hawks by 1 1/2 games for the eighth and final playoff spot.
After Indiana was outscored 29-18 in the third quarter, Pacers coach Jim O'Brien inserted a small lineup with the 6-foot-9 Williams in the post.
"It was like I was on a fishing expedition," O'Brien said. "I was just trying to find something that would work. Other things weren't working in the third quarter and beginning of the fourth quarter. We knew we had to space the court, we wanted to have five guys that could shoot the 3."
Williams, who had sat out eight of nine games before scoring 16 in Wednesday's 102-95 victory over Charlotte, responded by making both of his shot attempts in the quarter and going 3-of-4 from the 3-point line.
The Pacers trailed 84-73 after three quarters and by 13 early in the fourth, but a 13-1 run pulled Indiana to 89-88 with 6:31 left.
The Bulls followed with a 6-2 spurt, but Indiana had one more run left.
The Pacers scored five in a row, taking their first lead since the first half on a 20-foot baseline jumper by Williams.
Williams then put the Pacers up for good when his 3-pointer with 2:16 left made it 99-97.
The Bulls lost for the sixth time this season after taking the lead into the fourth quarter.
"We just can't hold onto a lead right now," Chicago point guard Kirk Hinrich said. "It just seems like every time we get a lead it's like clockwork. We stop doing the things that got us the lead."
Luol Deng scored 28 points and Ben Gordon added 21 off the bench for the Bulls, who have lost two straight.
Chicago forward Andres Nocioni played just 2 minutes, 44 seconds. He was pulled from the game early in the second quarter after yelling at Chicago coach Jim Boylan.
After the game, Nocioni apologized to his teammates and the media.
"I did a really bad thing tonight," he said. "My attitude was terrible. I'd like to apologize to the entire organization and I'd like to apologize to my teammates."
Boylan said he would handle the situation internally.
Indiana improved to 3-11 against Central Division opponents. ... Hinrich returned after missing Thursday's loss to San Antonio with a sprained right ankle. ... Pacers G Travis Diener injured his back in the second quarter after diving into the stands, but returned in the third. ... Pacers F Jermaine O'Neal missed his 30th straight game with a bone bruise in his left knee, and G Jamaal Tinsley has missed 24 of the last 27 games with a sore left knee.