Bryant recorded 32 points, seven rebounds and six assists in his first appearance since missing five games with an injured ankle.
His winning three-pointer came with 4.3 seconds remaining, after he had tied the game with another three-pointer with 54 seconds left on the clock.
The Grizzlies had a final opportunity to win the game but guard O.J. Mayo missed a jump shot at the buzzer.
“I’ve spent time and time again shooting thousands of shots. The way I look at it is I only have to make one,” Bryant told reporters after converting 13 of his 19 attempts from the field.
“I missed being out there with the guys. I felt like my mum said I could go to the playground again.”
It was the fifth win in six games for Los Angeles (43-14) who had a 4-1 record while Bryant was sidelined.