Dragic made one of two free throws but Gibson connected on a 3-pointer with 13.1 seconds to play to pull the Cavaliers to 106-105. Sebastian Telfair dribbled the clock down to 5.1 seconds and made one of two free throws to make it 107-105.
Kyrie Irving had a chance to win it for Cleveland as time expired but his 3-pointer from the top of the key bounced off the back of the rim.
"I didn't know I was going to take the last shot," Irving said. "It wasn't a designed play. I just went and got it and attempted it."
Waiters scored 12 of his 23 points in the fourth quarter for the Cavaliers. Gibson finished with 19 and Irving had 17.
"The story doesn't change. It's on the defensive end," Cavaliers coach Byron Scott said. "Twelve good minutes, it's as simple as that. I thought from the second quarter on we just played lackadaisical, just real loose with the basketball and that team, they just kept playing hard."
Dragic scored 26 points for the Suns. Telfair added 13 and Gortat had 12.
"In the end we got it done, but I don't want the long faces," Suns coach Alvin Gentry said. "I want us to believe that if we get ourselves in trouble we can bail ourselves out by coming up with stops and running on stops and not on trading baskets."
NOTES: The Suns overcame a 29-point deficit at Boston in 2003 for the franchise record. ... At 3-3, Phoenix is at .500 for the first time this season and has won consecutive games for the first time since April 7-9. ... The Suns have trailed by double digits in all three of their home games. ... Waiters finished 9 of 13 from the floor, including 3 of 5 on 3-point attempts. ... Gibson had five 3-pointers and is within seven of Danny Ferry for fourth on the Cavaliers' career list. ... Cleveland has lost four of its past five against the Suns.