Referee Andre Marriner denied Tottenham two clear penalties before Gareth Bale fired home his 26th goal of the season right at the death to give the home side a 1-0 victory.
Villas-Boas and his backroom staff were incensed at Marriner's decisions. Sebastian Larsson bundled Bale over in the box, but the 23-year-old was booked for diving, while Carlos Cuellar clearly handled Clint Dempsey's shot in the second half but the referee's whistle stayed silent.
Despite Bale's heroics, Tottenham will have to settle for a place in the Europa League again next season, as Arsenal's 1-0 win at Newcastle ensured that they finished in fourth position.
Viewed with a cold heart, it could be said that Spurs boss Andre Villas-Boas has failed this season. He was set the target of Champions League qualification but his team have fallen short.
After beating Arsenal here on March 3 Spurs held a seven-point gap over their biggest rivals, but a run of five wins in their remaining nine games allowed Arsenal to finish above their rivals for the 18th consecutive season.
To castigate the Portuguese would be extremely harsh, however, given that he has managed to collect 72 points - a record haul for the club in the Premier League era - despite the departure of key players and injuries to the likes of Sandro and Younes Kaboul.
On Sunday Tottenham started positively amid a booming atmosphere inside White Hart Lane.
Emmanuel Adebayor gave John O'Shea the slip to latch on to Kyle Walker's header but Simon Mignolet tipped the Togolese's shot around the post.
Despite the pressure on him, Villas-Boas remained calm. Indeed it was Paolo Di Canio, swirling his arms around in annoyance as Sunderland struggled to get into the game.
Bale charged through on to Tom Huddlestone's through-ball and entered the box but he collided with Larsson, who used both his arms to bring the Welshman down in the box.
The home fans held their breath as Marriner put his whistle to his lips, but tension gave way to anger as the referee booked Bale for diving - a decision which enraged the Spurs bench.
The harsh call galvanised Spurs, who went close to scoring through Huddlestone's 25-yard half-volley.
Sunderland stirred momentarily, Connor Wickham taking advantage of a mistake by Jan Vertonghen, but Hugo Lloris took the striker's shot on the chin at his near post.
Bale appealed for another penalty when his shot struck Jack Colback but Marriner waved play on again.
Just before the break Mignolet plucked the ball from the sky to deny Adebayor a chance to head into an empty net.
Huddlestone dallied on the ball, allowing Wickham to find Danny Graham, but Lloris pulled off a top save to deny the former Swansea man.
Tottenham raged against Marriner for the second time in the 51st minute when they were denied what appeared to be another blatant penalty.
The ball pinged around the Sunderland box and fell to Dempsey, whose shot was blocked by the outstretched arm of Carlos Cuellar.
Marriner again paused for a second before waving play on. The normally mild-mannered Villas-Boas shouted angrily at fourth official Phil Dowd while Spurs assistant Steffen Freund remarked that the defender's block was similar to that of a goalkeeper.
Spurs were riled by being denied another penalty, but the vibrant atmosphere inside the ground soon went flat after the Sunderland fans relayed the news that Arsenal had scored at Newcastle by singing "1-0 to the Arsenal".
The feeling that nothing was going Tottenham's way continued on the hour when, after a goal mouth scramble, Colback saved on the goal line from both Scott Parker and Aaron Lennon in quick succession.
Confusion swept through White Hart Lane with 20 minutes left amid false rumours that Newcastle had equalised.
Tottenham continued to pepper Sunderland's goal but Mignolet held strong. Villas-Boas brought on Mousa Dembele and Jermain Defoe for Parker and Dempsey - neither of whom were happy to come off.
Vaughan was then dismissed after picking up a second yellow for a late tackle on Lennon.
Bale drew two top-class saves from Mignolet as the clock ticked towards 90 minutes while the Sunderland stopper had to be at his best to stop Huddlestone from powering home a 25-yard strike.
Villas-Boas threw on Gylfi Sigurdsson and opted for a 3-1-6 formation. The nerves started to get to the Spurs manager, who started crouching, trying to envisage a goal that would at least give them a chance of making it into the top four.
Bale finally grabbed the goal with a fantastic 25-yard curler, but it was not enough to ensure Spurs qualified for the Champions League.