England will face the Netherlands in the UEFA Nations League semi-final next summer.
The draw took place in the Shelbourne Hotel in Dublin on Monday lunchtime.
Gareth Southgate's men qualified for the last four of the inaugural tournament with a late victory over Croatia last month, topping their group.
The tie will be played in Guimaraes in Portugal on 6 June.
Hosts Portugal will play Switzerland in the other last-four tie on 5 June in Porto. The final and third-place play-off will take place on 9 June.
Southgate now knows the route his side must take to get their hands on a trophy next summer.
Their clash with Holland, managed by Ronald Koeman, will be the first competitive meeting between the sides since Euro 96, when Southgate played in a memorable 4-1 win for the Three Lions.
Either Portugal or the Swiss - who the Republic of Ireland will square up to in Euro 2020 qualification - await in the final.