Fellow Bundesliga club RB Leipzig also fought to a 1-0 home victory over Rangers.
Daichi Kamada nudged the winner for Eintracht Frankfurt early in the second half to the delight of the 3,000 fans who backed the Eagles in London.
And they will be dreaming of a trip to Seville for the May 18 final if they can survive next week’s home leg.
However, they will be wary of the threats possessed by the West Ham side.
The hosts cancelled Ansgar Knauff’s first minute opener through Michail Antonio before the break and also hit the woodwork three times.
The last was a thumping overhead kick off the bar from Jarrod Bowen in injury-time.
RB Leipzig in contrast dominated throughout against Rangers but struggled to create chances against the defensive Scottish champions.
Christopher Nkunku somehow failed to add to his 30 season goals when he rounded goalkeeper Allan McGregor only to blaze off-target.
But Angelino’s superb 85th minute volley finally made the breakthrough.
“We can thank Angelino for this super shot,” teammate Benjamin Henrichs said, while the goalscorer said “we have deserved” the victory.
An all-Bundesliga final could be possible in the competition for the first time since 1980 when Eintracht Frankfurt defeated Borussia Mönchengladbach on away goals.
The second leg to come in Glasgow, however, remains finely balanced with the fact that away goals are no longer in force from this season.
Eintracht Frankfurt fell in their last Europa League semi-final in London, losing to Chelsea in 2019.
But Knauff’s back-post header in just 49 seconds gave them the lead.
Antonio bundled in a free-kick to level and West Ham had a period of control before Eintracht Frankfurt regained the initiative.
A lovely move saw Djibril Sow’s shot saved only for Kamada to walk onto the rebound and an empty net.
“Today wasn’t one of our best performances,” Antonio said. “It’s two legs. We’ll go there and put in the work and you never know.
“It’s all to play for. We’re in it to win it.
“Another game to go. No matter where we go we believe we can beat anybody.”
Saïd Benrahma curled a wonderful long-shot onto the post and Bowen beat goalkeeper Kevin Trapp at the death only for his magnificent overhead kick to rattle the woodwork.
But Eintracht Frankfurt survived for another famous victory after they eliminated FC Barcelone last time.
In between, Kamada had his own shot deflected onto the post as Eintracht Frankfurt looked to kill the tie.
“We have a very good starting position,” Trapp said. “There were a lot of positive emotions.”
RB Leipzig enjoyed 75 percent possession in the first half against Rangers but managed just four shots and McGregor did not have a save to make.
That changed after the break but Rangers looked to have held on until a corner-kick fell for Angelino five minutes from time.
The full-back volleyed sweetly into the corner from the edge of the penalty box.
And RB Leipzig, who are also in the German Cup final, will feel confident at moving closer to the potential maiden title in their history.
It means Rangers will have to attack more at home.
“We just wanted to stay compact and make it hard for them to get through us,” Rangers midfielder Joe Aribo said.
“It’s all about concentration and hard work, that’s what we did out there.”
Discussion about this post