Sunderland needed two late goals to see off basement side Crewe at the Stadium of Light and keep their play-off challenge going.
The Black Cats could not find a breakthrough for 85 minutes, before substitute Dan Neil finally found a way through.
And fellow sub Patrick Roberts added the second goal in the final minute of the 90 to give Sunderland a cushion and avoid any nerves in injury-time.
Go here for all the latest Sunderland AFC news
Here's how James Hunter rated the Sunderland players.
Anthony Patterson 6
Hardly had a save to make, but showed safe handling and his distribution was good
Carl Winchester 6
Another decent game on the right side of the back three
Bailey Wright 6
Won pretty much everything against Crewe's ineffective forwards
Dennis Cirkin 6
Solid enough as the left-sided centre-back
Lynden Gooch 5
No shortage of effort at wingback, but didn't get enough crosses into the box
Corry Evans 6
Kept the ball moving in the middle of the park and made some strong challenges
Jay Matete 6
Good energy in midfield and brought a save out of the keeper in the second half
Luke O'Nien 6
Covered every blade of grass on his first start since recovering from shoulder surgery
Jack Clarke 7
Delivered some decent crosses, and provided the assist for Roberts
Jermain Defoe 5
One half-chance, but it got away from him. Still looks well off the pace
Ross Stewart 6
Got little change out of Crewe's defence, but did produce the assist for Neil
Subs
Dan Neil 7
For O'Nien 59mins. Back on the pitch after being given a breather, and his goal gave Sunderland a much-needed breakthrough
Leon Dajaku 6
For Gooch 59mins. Lively when he came on
Patrick Roberts 7
For Defoe 64mins. Offered more of an attacking threat and deserved his goal
Not used: Hoffmann, Doyle, Embleton, Hume
For the latest Sunderland news direct to your inbox, go here to sign up to our free newsletter