Alex Pritchard, Harry Winks, Josh Onomah, Luke McGee and Milos Veljkovic were amongst the starters in a strong-looking line-up while Sunderland fielded fit-again Jordi Gomez, Charalampos Mavrias, Valentin Roberge, Will Buckley and Mikael Mandron.
We created a number of half-chances - Pritchard, Winks and Onomah all tried their luck - but we were foiled by some fine Sunderland defending.
However, we were slow to get into our stride and ultimately paid for it with the game-winning goal coming inside five minutes.
McGee produced a fine fingertip save to touch over Gomez's free-kick but we never cleared that initial danger. The ball bounced around in the penalty area from the corner and eventually fell to Lynden Gooch, who drilled low past McGee from six yards.
Pritchard had a shot blocked on seven minutes but the next chance fell to the home side with Gomez's delivery from the left causing problems, this time Buckley hammered back across goal and wide.
We began to get a foothold in the game midway through the half. Pritchard clipped a trademark free-kick over the wall but a yard over from 25 yards and Onomah released Winks but Thomas Beadling got there in the nick of time to make the block.
Beadling was Sunderland's savior again on the half-hour when Anton Walkes' cushioned header freed Onomah into the box. The midfielder tried to open up the angle and that allowed Beadling to get across and make another fine block.
Liam Agnew fired a decent shooting chance over on 33 minutes before our best chance of the half just before the break. Winks picked out Kyle Walker-Peters' run from deep and the full-back beat the offside trap, raced into the box only to look to square rather than shoot and Shayon Harrison couldn't quite reach the cross.
Anthony Georgiou replaced Walkes at the interval and the first chance of the second half fell to the home side as Rees Greenwood worked the ball to Mandron, who rattled the crossbar from 12 yards.
Pritchard forced a fine save from Maksymilian Stryjek on 62 minutes, this time aiming a free-kick into the smallest of gaps, but the goalkeeper got down well to his right to turn the ball wide.
Both teams continued to create half-chances. Sunderland were next as Gomez flashed a free-kick across goal and then Mandron flicked a header over.
Onomah was then denied twice in a matter of seconds. First, he raced onto Harrison's flick and looked set to score but Roberge got across and managed to deflect the effort wide.
Pritchard, now dropping deep to influence the game, swung in the corner, the ball was loose and Onomah tried to pounce but Stryjek got down bravely to save.
Mandron missed the target twice while well placed in the final five minutes and although we pushed to the very end, we couldn't carve out that final, telling chance.
Sunderland U21s: Stryjek, J Robson, T Robson, Agnew, Roberge, Beadling, Mavrias (Greenwood 37), Gomez (E Robson, 79), Mandron, Gooch, Buckley (Smith, 64). Substitutes (not used): Talbot, Brady.
Spurs U21s: McGee, Walker-Peters, Carter-Vickers (Maghoma, 76), Veljkovic, Walkes (Georgiou, 46), Lesniak, Onomah, Winks, Sonupe (Goddard, 68), Harrison, Pritchard. Substitutes (not used): Voss (GK), Amos.