The Iranian international will arrive at Leverkusen in the summer, signing a five-year contract.
The 27-year-old, who has 60 caps and 39 goals for Iran, will battle with the likes of Patrick Schick and Lucas Alario for a starting spot next term.
"[It is] a step from the best club in Russia to one of the best leagues in Europe," he told the Bundesliga club's website.
"Bayer Leverkusen have a really great squad. I've been keeping an eye on the club for a long time and am impressed by the team's style of play.
"It's incredibly exciting for me soon to be able to play in the Bundesliga. And I'm convinced I'll make the team even better with my footballing ability."
Azmoun was previously linked with Newcastle United and Lyon.
Need a VPN? Or seeking to switch? Then support Tribal Football by clicking here to sign up with our official partners NordVPN. Not only will you receive the best VPN experience, but also great discounts by signing up via Tribal Football. Thanks for your support!