Having won the reverse fixture 2-0 in Aarhus, Denmark completed the double over its host thanks to a goal in each half, Nicolai Jorgensen grabbing the first when he converted a one-on-one opportunity in the 42nd minute to finish off a rapid counter.
The visitor defended doggedly before Martin Braithwaite struck late to double the advantage, the Middlesbrough midfielder volleying home with two minutes left of the 90.
Gareth Bale - available again after missing the games against Spain and the Republic of Ireland in October - quickly pulled one back for Wales when converting Ashley Williams's long pass over the top, but Ryan Giggs's side could not find a leveller in five additional minutes.
The result means Wales misses out on the chance to guarantee a play-off for UEFA EURO 2020, should it fail to reach the tournament during the regular qualifying process, while also relegating Ireland to League C.
It also ruined a record-equalling outing for Chris Gunter, the Wales defender replacing the injured Paul Dummett in the first half to level Neville Southall's national record of 92 caps.