The 22-year-old left-back becomes the eighth signing of Brendan Rodgers' summer after completing a medical at the club's Melwood training ground.
But Moreno was not registered in time to figure in his new side's Barclays Premier League opener against Southampton on Sunday.
Moreno told Liverpoolfc.com: "In my view, Liverpool are the best club in England and I couldn't waste an opportunity to come and play for them.
"They all told me I can grow a lot here as a footballer as this is a massive club. I'm very happy to be joining a club as big as Liverpool. I hope to give my best and do all I can to help."
- Sports & Recreation
- Barclays Premier League
- Brendan Rodgers
- Alvaro Arbeloa