Klay Thompson hit a go-ahead 3-pointer with 1:33 left, Durant delivered on both ends of the floor,
and the Golden State Warriors beat the Cavaliers 99-92 on Monday in a festive holiday rematch of the past three Finals.
Kevin Durant's block against a driving James with 24.5 seconds left went out of bounds off Lebron James, who said he thought he was fouled on the play. Durant finished with 25 points, seven rebounds and five blocked shots.
Thompson scored 24 points and Draymond Green had a triple-double with 12 points, 12 rebounds and 11 assists. It was Golden State's 12th win in 13 games after its 11-game winning streak was snapped by Denver on Saturday night.
Warriors rookie Jordan Bell traveled with 2:13 left and James tied it. Bell made up for that mistake with a key offensive rebound and pass to Thompson for his fourth 3.
James' 3-pointer with 10:39 left pulled Cleveland within one, but Green answered with a 3 and Andre Iguodala scored two of his nine points the next time down. In another key sequence, Durant blocked Tristan Thompson's shot with 6:23 to go and dunked moments later.
The Cavs, having won six of seven and playing for the first time since Thursday, had their run of scoring at least 100 points end at 26 games.
The Warriors were at nearly full strength again aside from Curry, who could return this week once he goes through some scrimmages at practice.
Center Zaza Pachulia was available but didn't play after sitting out seven consecutive games, while Shaun Livingston came back after missing four games with a sore right knee.