Denver captured its fourth in a row and has won seven of its last nine. Cleveland missed out on a chance to win for only the 10th time this season.
Cleveland's Tristan Thompson hit a jump shot with 2:12 to play that forged an 89-89 tie, but the Nuggets produced the next seven points.
Lawson hit two free throws, Danilo Gallinari connected on a 3-pointer and Lawson added two more foul shots with 20 seconds remaining to secure the victory.
Denver, which trailed by 11 at halftime, was led by 23 points from Gallinari and 21 from Kosta Koufos. Kenneth Faried added 17 points and 11 rebounds for the Nuggets, who survived 22 turnovers by outrebounding the Cavaliers 56-35.
Kyrie Irving scored 28 points for Cleveland.
Avril Lavigne denies racism in 'Hello Kitty' music video
Humongous iceberg slowly drifts away from Antarctica