Golden State (5-21) trailed by 21 in the second quarter but roared back to take the lead with just more than eight minutes left.
The teams with the two worst records in the NBA then staged an entertaining finish, with D'Angelo Russell hitting a 3-pointer for Golden State to tie it at 112 with 3.9 seconds to go in the fourth.
That sent the game to overtime, but New York controlled the extra period. Randle's 3-pointer broke a 114-all tie and put the Knicks in front for good.
Russell finished with 32 points, but the injury-depleted Warriors lost for the second consecutive game to start what appeared to be a promising homestand that afforded the chance for a couple of victories.
The Knicks had their way inside in the first two quarters, shooting 58% and outscoring the Warriors in the paint 32-18. Morris had 18 points as the Knicks took a 68-50 lead into the break.
New York closed the first quarter on an 11-0 run to push its lead into double digits.
Golden State's cold shooting during Monday's loss to Memphis carried over. Many of those misses came from close range, too, as the Warriors hit just 17 of their 51 shots (33%) in the first half.
Knicks: Miller, three games into his tenure after David Fizdale was fired, said the front office hasn't given him any indication whether he'll be leading the team for the rest of the season. "We're in constant communication. They've been really supportive. It's just been about getting to the next game. I'm fine with that," he said.
Warriors: F Eric Paschall was listed as questionable Wednesday morning with a sore left hip, but he was in the starting lineup for the 19th time in Golden State's 26 games. He scored only five points in just under 17 minutes.
Knicks: Visit the Sacramento Kings on Friday, the third stop on this four-game road trip.
Warriors: Play on Friday at Utah, where they hung tough before losing by four in November.
More AP NBA: https://apnews.com/NBA and https://twitter.com/AP-Sports