Fulham took the lead when Spurs striker Fernando Llorente, starting in place of the injured Harry Kane, turned the ball into his own net from a corner on 17 minutes.
But Spurs equalised six minutes after half-time when Christian Eriksen swung in a cross for Dele Alli to head home. Alli was taken off injured with four minutes to go.
The winner came three minutes into stoppage time, a superb cross by Georges-Kevin Nkoudou found Winks, who made no mistake with his header.
Fulham remain 19th on 14 points, while Spurs stay third on 51 points, five behind Manchester City in second.
Fulham: 29 Jan v Brighton (H)
Spurs: 30 Jan v Watford (H)