Influential Spain forward Moreno stroked in his eighth goal in his last five matches for club and country from the penalty spot in the first half at Stadion Maksimir on Friday (AEST).
Unai Emery's side deservedly extended its winning run to six matches, with Mislav Orsic's disallowed goal for offside in the first half summing up the Croatian champions' night.
The Yellow Submarine were good value for their win and will be expected to finish off the job in the second leg at Estadio de la Ceramica next Thursday.
Geronimo Rulli dived to his left to keep out Lovro Majer's deflected strike and Kevin Theophile-Catherine headed wide at the far post from a corner in a promising start for Dinamo.
Orsic, whose hat-trick knocked Tottenham out in the previous round, had the ball in the back of the Villarreal net, but the goal was ruled out as Iyayi Atiemwen had strayed marginally offside.
It was the LaLiga side who took the lead just before half-time, when the classy Moreno nonchalantly sent Dominik Livakovic the wrong way after Theophile-Catherine was penalised for what appeared to be an unintentional handball.
Emery replaced Carlos Bacca with Paco Alcacer at half-time and the Spanish side toyed with Dinamo after the break, dominating possession as they played with a swagger.
Samuel Chukwueze was unable to finish a slick Villarreal move with a second goal from close range and Dinamo boss Damir Krznar introduced Bruno Petkovic in a bid to turn the tide just after the hour mark.
Alcacer spurned a great chance to give Villarreal breathing space when he dragged a shot tamely wide before Livakovic tipped Manu Trigueros's deflected drive over the crossbar.
Dinamo struggled to get the ball off well-drilled Villarreal, who comfortably saw out the victory in impressive fashion.