It was the third win in nine games for the Bobcats. The SuperSonics have lost 13 out of 14.
The game was close throughout the second half and Charlotte had a one-point advantage when Felton went to the line with nine seconds to play. His free throws gave Bobcats a 94-91 lead, after which Seattle's Kevin Durant missed a three-point shot.
Richardson claimed the rebound and he was fouled, leading to two more free throws with five seconds remaining. That gave Charlotte enough of a cushion to allow an uncontested layup by Seattle's Luke Ridnour at the buzzer.
Richardson led Charlotte with 27 points and Felton had 23.
Durant and Earl Watson both scored 18 for Seattle.