Kevin Garnett scored 24 points and drilled the game-winning shot with 5.1 seconds left, as the Celtics spoiled Klay Thompson's career high 26 points as they outlasted the Warriors 105-103.