Ward grabbed 9 passes for 91 yards and scored twice.
Ward scored 11 points, his most in 14 games, while Johnson drove right back at him for 14 points and had 10 assists.
Mike Heath grounded into a double play and Ward scored.
After playing just six minutes and going scoreless in the first three quarters, Ward scored 9 points in the fourth.
Ward scored standing up for the go-ahead run.
Ward scored the final 7 points for the Knicks to finish with 18.
Ward, 28, a checking forward, had scored only 18 points this season and had spent five of the past seven games as a healthy scratch.
Just two games ago, Ward scored 21 points against Milwaukee and did so with his broken finger.
In his most productive offensive performance, Ward made seven 3-pointers and scored a career-high 25 points.
Robinson could not punch the ball clear cleanly, allowing Ward to score with a low effort from 16 yards.