The 19-year-old striker’s curling effort not only gave United the lead, but also a precious away goal going into next Thursday’s second leg at Old Trafford.
With United outside the Premier League’s top four – a point behind Manchester City and four off third-placed Liverpool – the Europa League perhaps represents their best opportunity of earning a place in next season’s Champions League.
They looked to have spurned their best chances in northern Spain – three times they were denied in the first half by home goalkeeper Sergio Alvarez.
As Celta improved, United’s wastefulness seemed increasingly important, only for Rashford to produce the sort of quality needed to beat the excellent Alvarez.
Returning home with an advantage, Jose Mourinho’s side will be strong favourites to progress to face Ajax or Lyon in Stockholm on 24 May in the final of a competition they have never won.
Rashford was one of the three United players thwarted by Alvarez in a first period the visitors had the better of.
His arcing strike was heading for the top corner before Alvarez leapt to his left, with the Spaniard also stopping a surging Henrikh Mkhitaryan and diving to push away a Jesse Lingard prod from eight yards out.
With United seeing less of the ball in the second period, Rashford – who scored the extra-time winner in the quarter-final against Anderlecht – stood over a free-kick to the right of the Celta penalty area.
After Daley Blind’s decoy run, the England international whipped the ball over the wall, past the outstretched left hand of Alvarez and just inside the far post.
By then, Celta could have been out of the tie, having been kept on level terms by the brilliance of their goalkeeper.
In their first European semi-final, the hosts did not look to be any better than their current domestic position – 11th in La Liga and on the back of three successive defeats. United should have every confidence of progressing from their first European semi in six years.
Celta did have chances – both Daniel Wass and former Liverpool player Iago Aspas headed wide when they should have done better, while Pione Sisto’s deflected shot forced Sergio Romero to save in the second half.