Click here to watch the match LIVE
onas Hofmann fired through a crowd of bodies for Xabi Alonso’s side after the visitors struggled to clear a corner with seven minutes remaining.
Victor Boniface then doubled the lead in the first minute of injury time with a well-directed header from Hofmann’s cross.
Alonso’s hosts dominated possession but were largely frustrated by a superbly organised Hammers defence until Hofmann’s late intervention.
“We have half a chance in the second leg,” Moyes told TNT Sports.
“It’s going to take some performance because they’re a really good team. You never know what’s going to happen.
“Let’s try to get one and then see if we can get two. We’ll pick ourselves up for next week and hopefully get the crowd behind us.”
The visitors showed great discipline to limit Leverkusen’s chances for much of the game while also offering a threat on the counter through the pace and power of Michail Antonio.
Antonio created arguably the best opportunity of the first half as he broke down the left and squared for Mohammed Kudus, but the Ghana winger’s shot was straight at Leverkusen goalkeeper Matej Kovar.
West Ham did need a couple of very smart saves from Lukasz Fabianski to keep Leverkusen at bay for as long as they did.
The 38-year-old keeper got down well to deny Patrick Schick in the first half before leaping to tip the striker’s header over the bar in the second when he looked to have been wrong-footed.
Hofmann finally found a way past Fabianski and when Boniface nodded in the second, Leverkusen were assured of victory to stretch their unbeaten run to 42 matches.