The 27-year-old Mexico international, who will be aiming to represent his country at this summer's World Cup, has spent the last two years at Valencia having previously played for Deportivo La Coruna in Spain and Atlas in his homeland.
"Andres Guardado is a very experienced player," said Leverkusen director of sport Rudi Voller.
"He was a regular at Valencia and played in the Champions League for them last season, while he is an established great for his national team.
"Given his versatility, Andres fits the bill perfectly for what we wanted and we are convinced he will give our team a further boost."
For breaking stories and all the great banter like us on Facebook: facebook.com/tribalfootball