J.R. Smith scored 21 points, Carmelo Anthony added 19 points and nine rebounds and the New York Knicks moved within one game of the final playoff spot by beating the undermanned Golden State Warriors 89-84 on Sunday night.