Man United had a half-chance to level late in the first period when Mason Greenwood delivered a dangerous low cross into the Villarreal area, but the ball hit Raul Albiol before Rulli managed to gather.
The English side were level in the 55th minute, though, when Cavani converted from close range after the ball had broken kindly for the Uruguay international following a strike from Marcus Rashford.
The Red Devils dominated the ball in the spell that followed, with Cavani coming close once again 20 minutes from time, as the striker's goal-bound header was blocked by Pau Torres.
McTominay was often the player driving Man United forward in the second half, but the two teams could not be separated at the end of the 90 minutes, meaning that extra-time was required.
Villarreal had the better of the first half of extra time, with Alberto Moreno and Paco Alcacer both having half-chances for the La Liga outfit, but the contest ultimately headed for a penalty shootout, which the Yellow Submarine won 11-10 to secure European silverware.
7th min: First half-chance of the match falls to Man United as Rashford finds McTominay outside the Villarreal box, but the midfielder fires his effort wide of the post.
16th min: Opportunity for Villarreal as a deep corner eventually finds Manu Trigueros at the far post, but the midfielder's volley was always missing the target.
20th min: Luke Shaw's effort from a wide area just flashes across the Villarreal goal; a touch from a Man United player might have taken the ball into the back of the net.
23rd min: Half-chance for Villarreal as a brilliant cross from Carlos Bacca finds Pau Torres, but the centre-back, who has been linked with Man United, heads over the crossbar.
27th min: Yeremi Pino sends a low effort wide of the Man United goal, with the Spanish side starting to work their way into the contest after a slow start against Solskjaer's side.
29th min: Villarreal take the lead in the 29th minute of the contest, as Moreno, who now has 30 goals for the season, guides a deep Parejo free kick into the back of the net.
45th min: Man United come close to finding an equaliser late in the first period as Greenwood drives a low cross into the box and it hits Albiol, but the Villarreal goalkeeper can collect.
47th min: The English side almost concede a second as the ball breaks to Bacca inside the penalty box, but Solskjaer's team manage to clear their lines at the vital moment.
54th min: McTominay works some space inside the Villarreal box before attempting to pick out the back of the net, but the midfielder's effort is deflected over.
55th min: Man United level the scores in the 55th minute of the match, as Cavani converts from close range after the ball breaks kindly for the Uruguay international inside the penalty box.
70th min: Huge chance for Man United to score a second as Fernandes, who might have been offside, finds Rashford inside the penalty box, but the England international somehow rolls his effort wide.
71st min: Half-chance for Man United as Shaw's effort finds the head of Cavani, who sees his effort blocked by Pau Torres; the English giants are firmly on the front foot here.
89th min: Pogba heads over the crossbar from inside the Villarreal penalty box, as the Europa League final heads closer and closer to extra-time.
92nd min: Pau Torres sends one over the crossbar from a decent position.
99th min: Alberto Moreno breaks into a dangerous position for Villarreal, but the left-back, who previously represented Liverpool, fires over the crossbar.
112th min: Half-chance for Villarreal, as a mistake from Lindelof allows Alcacer to break into the box, but the striker cannot find his teammate with a cross.
VILLARREAL PEN ONE: Gerard Moreno sends Villarreal 1-0 ahead in the shootout.
MAN UNITED PEN ONE: Mata finds the far corner with a wonderful spot kick.
VILLARREAL PEN TWO: Raba fires the ball down the middle to make it 2-1 Villarreal.
MAN UNITED PEN TWO: Telles finds the back of the net to level the scores at 2-2.
VILLARREAL PEN THREE: Alcacer squeezes the ball into the bottom corner for 3-2.
MAN UNITED PEN THREE: Fernandes manages to fire the ball under the goalkeeper for 3-3.
VILLARREAL PEN FOUR: Alberto Moreno sends the ball into the bottom corner for 4-3.
MAN UNITED PEN FOUR: All square once again as Rashford converts for Man United.
VILLARREAL PEN FIVE: Parejo fires past De Gea to send Villarreal ahead once again.
MAN UNITED PEN FIVE: Cavani fires into the corner of the net for 5-5 here.
VILLARREAL PEN SIX: Moi Gomez goes down the middle for 6-5 Villarreal.
MAN UNITED PEN SIX: Fred manages to squeeze it home for 6-6.
VILLARREAL PEN SEVEN: Albiol sends Villarreal 7-6 ahead with a cool effort.
MAN UNITED PEN SEVEN: James scores for Man United for 7-7.
VILLARREAL PEN EIGHT: Coquelin picks out the top corner with a brilliant effort.
MAN UNITED PEN EIGHT: Shaw just about manages to squeeze the ball home.
VILLARREAL PEN NINE: Gaspar goes high over De Gea for 9-8 Villarreal.
MAN UNITED PEN NINE: Tuanzebe finds the corner of the goal for 9-9.
VILLARREAL PEN TEN: Pau Torres goes high into the net for 10-9.
MAN UNITED PEN TEN: Lindelof fires home to make it 10-10 on penalties.
VILLARREAL PEN ELEVEN: Goalkeeper Rulli picks out the top corner.
MAN UNITED PEN ELEVEN: De Gea sees his effort kept out by the diving Rulli.
MAN OF THE MATCH - PAU TORRES
It is not difficult to see why Pau Torres is so highly rated, as the Villarreal centre-back put in an excellent performance over the course of 120 minutes, before netting in the shootout.
Man United, as well as Real Madrid, are said to be admirers of the Spain international, who made a number of important blocks and looked a player in total control as he led from the back.
An stunning penalty shootout came to an end in the most dramatic of fashions as De Gea saw his attempt saved by opposing goalkeeper Rulli, who had himself just picked out the top corner.
It was a high-quality shootout between the two teams, but it just was not to be for De Gea, who now faces an uncertain future at Old Trafford heading into this summer's European Championships with Spain.
Possession: Villarreal 40%-60% Man United
Shots: Villarreal 12-14 Man United
Shots on target: Villarreal 1-2 Man United
Corners: Villarreal 7-3 Man United
Fouls: Villarreal 10-5 Man United
VILLARREAL (4-3-3): Rulli; Foyth (Gaspar 88'), Albiol, Torres, Pedraza (A Moreno 88'); Parejo, Capoue (Raba 120'), Trigueros (M Gomez 77'); Pino (Alcacer 77'), Bacca (Coquelin 60'), G Moreno
MAN UNITED (4-2-3-1): De Gea; Wan-Bissaka (Telles 120'), Lindelof, Bailly (Tuanzebe 116'), Shaw; McTominay (Mata 120'), Pogba (James 116'); Greenwood (Fred 100'), Fernandes, Rashford; Cavani