Portugal winger Nani had not featured on United's pre-season tour of Asia and Australia after being given extra time off due to international commitments and a nasal problem, while Vidic was also an absentee from the first-team squad due to sciatica.
United took the lead on 10 minutes when Nani was brought down just outside the penalty area and he curled a free-kick inside the post.
Crewe then lost Mathias Pogba to injury before Vidic made a strong interception to thwart Max Clayton as the United captain looked comfortable on his return.
Antonio Valencia was also making his first appearance of pre-season before Crewe twice came close to scoring early in the second half.
Clayton's shot was saved by Sam Johnstone, with Byron Moore putting the rebound wide before Lee Molyneux rattled the crossbar.
However, just moments later, the Red Devils scored again as the ball broke kindly for Nani as he raced into the penalty area and he kept his feet before rolling a shot into the back of the net.
Vidic was replaced by Ben Pearson on 62 minutes and, two minutes later, Nani was taken off as his compatriot Bebe came on in a satisfactory work-out for United.
Crewe, meanwhile, start their League One season on Saturday against promoted Rotherham United.