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."
The left-sided midfielder could make his debut for Leverkusen against Stuttgart on Saturday, and he admits he cannot wait to appear in the Bundesliga.
"The offer from Leverkusen was a great chance for me to start something new," he said. "The Bundesliga has a fantastic reputation in Spain.
"It's something special for me to be able to get to know this big European league.
"Bayer have been a top side in German football for many years and they have also been heavily involved in the Champions League.
"I'm therefore pleased that the transfer has worked out."