United captain Vidic opened the scoring with a header after 31 pulsating minutes before Nani reacted quickest to some goalmouth confusion to prod home five minutes from time.
Spurs were furious with referee Mark Clattenburg for allowing the second goal, scored after goalkeeper Heurelho Gomes placed what he believed to be a dead ball.
With just two minutes gone Park Ji-sung had come within a whisker of giving United the lead, taking a couple of touches to line up a shot before letting fly from 25 yards. His low effort had Gomes well beaten but cannoned off the post to safety.
Nani also found room to shoot in the opening minutes but this time Gomes made a straightforward save.
Spurs did not allow themselves to be shellshocked by United's busy start and only a precision tackle by Darren Fletcher stopped Aaron Lennon testing Edwin van der Sar after a swift counter-attack in the fourth minute.
Rafael van der Vaart then matched Park's earlier effort, holding possession despite tumbling to the floor before rising to curl the ball against the far post.
Chances continued to come at both ends - Van der Vaart drilling over for the visitors and Park missing the target after some neat footwork in the Tottenham area.
By now United were looking the better side and Spurs survived another nervy moment when Gomes spilled Michael Carrick's shot before gathering again with Javier Hernandez lurking.
Tottenham looked capable of catching their opponents on the break but United's attacks were producing more clear-cut opportunities.
Fletcher missed the latest of them after 25 minutes, failing to convert from the edge of the box after some patient approach play from Nani.
A clumsy Younes Kaboul challenge after half an hour gave the Red Devils the chance to attack from a set-piece and they duly cashed in. Nani floated in the free-kick in from the left and Vidic eased in front of Benoit Assou-Ekotto to head home.
A quickly-taken throw by Gareth Bale, who started despite Harry Redknapp's suggestion that he may be rested, gave Van der Vaart a sight of goal soon after but he badly mishit his shot.
Luka Modric did better with a sweetly-struck half-volley from the Holland star's corner a minute later but Van der Sar was on hand with a vital diving save.
Dimitar Berbatov could have doubled the lead over his old club just before the interval but a combination of Gomes and William Gallas stifled him.
As in the first half, United came out firing at the start of the second, with both Hernandez and Berbatov just failing to get clean shots away in the opening moments.
Robbie Keane and Jermaine Jenas, both drafted in to the starting XI for this match, were looking distinctly off the pace in key positions for Spurs.
In the 59th minute, Bale finally gave the away support something to cheer. In a passage reminiscent of his memorable Champions League hat-trick against Inter Milan he strode past a handful of red shirts and bore down on goal, only to see his shot squirm just wide of Van der Sar's far post.
Keane gave way to Roman Pavlyuchenko
just past the hour mark, handing the captaincy to Modric in the process.
After Van der Vaart failed to beat Van der Sar from a tight angle, Pavlyuchenko almost got lucky when his 25-yard effort nearly found its way over the line courtesy of Vidic's deflection, before Peter Crouch replaced Van der Vaart - who looked in a little discomfort as he left the pitch - in the 77th minute.
Nani's controversial strike ended matters, with the officials judging play to be active when Gomes placed the ball down in his area after an unsuccessful penalty appeal.
Gomes clearly believed he was lining up a dead ball but the Portuguese winger was the only one on the referee's wavelength and rolled the ball in to tee up furious scenes of protest by the visitors.