Francisco Trincao, who came on for Dalot in the 81st minute, would prove to be the difference, expertly finishing only three minutes later to force extra time.
The Sporting winger then nudged Portugal ahead with his second goal, moments into the additional period, after Schmeichel pushed out an effort by substitute Goncalo Ramos, who had replaced Ronaldo at the end of normal time.
The Paris-Saint Germain striker killed off the Danes' hopes, when finishing a pass by Diogo Jota, to make it 5-2 late on, 5-3 on aggregate.
Meanwhile, Matthijs de Ligt was an unused substitute, as the Netherlands drew 3-3, after extra time, in Spain, but lost 5-4 on a penalty shootout.
Hence, our only representatives in the competition will be Portugal, at the semi-final stage, as they face Germany, while Spain take on France.