Tottenham's £10m man carved out a great chance for Dave Edwards from one flowing attack down the right, although Tatarusanu was out of his goal quickly to smother the danger.
Romania continued to struggle with Wales' accurate crossing and only survived because Vokes was having a poor night in front of goal.
The Wolves frontman wasted two gilt-edged opportunities to head Wales in front.
First Vokes flashed a strong chance just over the bar, after the hard-working Evans had again worked space for himself to curl a cross onto his team-mate's forehead.
Then as the half-hour mark approached it was Bale providing the ammunition, only for Vokes to again head over from even closer in.
Despite some pleasing football played by both sides the game remained deadlocked at the break.
The half was marred only by a late scuffle sparked by Evans sliding in on keeper Tatarusanu as he chased a loose ball, both players booked for their troubles.
Wales continued their dominance after the restart, with Shaun MacDonald and Bale both drawing saves from the busy Tatarusanu.
Bale also failed to connect with a Darcy Blake cross that flashed across the face of goal.
But then on 65 minutes Wales were caught by a sucker-punch as they went to sleep at a Romanian set-piece.
The red shirts were static as Torje curled in a free-kick that found Dinamo team-mate Ropotan free in the Wales area.
Ropotan flicked out a foot and claimed the goal - although there was some doubt he made contact - as the ball bounced into the bottom corner past the left hand of the despairing Hennessey.
Wales redoubled their efforts and Rhys Williams almost rescued a point with seven minutes left, only for the Middlesbrough defender to see his shot deflected onto the Romania crossbar.
Then in the dying moments Bale unleashed a rocket that seemed destined for the back of the net, only for Tatarusanu to fly across his goal to palm the ball away.
Wales Under-21: Wayne Hennessey (Wolverhampton Wanderers), Chris Gunter (Tottenham Hotspur), Rhys Williams (Middlesbrough), Gareth Bale (Tottenham Hotspur), Rhoys Wiggins (Crystal Palace), Darcy Blake (Cardiff City), David Edwards (capt, Wolverhampton Wanderers), Aaron Ramsey (Arsenal), Shaun MacDonald (Swansea City), Sam Vokes (Wolverhampton Wanderers), Ched Evans (Manchester City). Subs: Kyle Critchell (Wrexham), Owain Fôn Williams (Stockport County), Lloyd James (Southampton), Mike Williams (Wrexham), Mark Bradley (Walsall), Jonathan Brown (Cardiff City), Simon Church (Yeovil Town).
Romania Under-21: Ciprian Tatarusanu (FC Gloria Bistrita), Alexandru Tudose (Gloria Buzau), Hristu Chiacu (CS Otopeni), Adrian Ropotan (Dinamo), Stefan Radu (Lazio Roma), Emil Ducu Ninu (Gloria Buzau), Laszlo Sepsi (Racing Santander), Cristian Tanase (FC Arges), Gabriel Torje (Dinamo), Bogdan Stancu (FC Steaua Bucuresti), Claudiu Andrei Keseru (FC Nantes). Subs: Costel Panitilimon (FC Timisoara), Srdjan Luchin (FC Timisoara), Stefan Adrian Mardare (Rapid Bucuresti), Florin Patrascu (FC Farul Constanta), Alexandru Paul Curtean (Gaz Metan Medias), Razvan Ochirosii (Steaua Bucuresti), Raul Rusescu (Unirea Urziceni).
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.