The 19-year-old was close to joining the Reds on deadline day in January after agreeing personal terms and completing a medical, only for a move to fall through.
However, the Reds confirmed on Tuesday (AEST) that an agreement is now in place to sign Carvalho on 1 July.
Liverpool is reported to have paid an initial £5million for Carvalho and handed the Portugal Under-21 international, who previously represented England at youth level, a five-year deal.
We can confirm Fabio Carvalho will join the club this summer.— Liverpool FC (@LFC) May 23, 2022
The 19-year-old forward will officially complete a switch to the Reds on July 1 🙌
He scored 10 goals and provided eight assists in 36 games as Fulham won the Championship title en route to Premier League promotion in the 2021-2022 campaign.
Lisbon-born Carvalho came through the youth ranks at Fulham and made 44 appearances for the club in total, including four top-flight outings two seasons ago.
In a message to Fulham supporters posted on the club's official website, Carvalho said: "I just want to say thank you for everything they’ve done for me, on and off the pitch.
"On the pitch, they've been singing my name and cheering me on, and off the pitch they're always greeting me.
"Even my family have fans going up to them, saying hello, which makes me happy.
"There's obviously been ups and downs this season, but I’ve had some great messages from great fans.
"I just want to say a big thank you to all the Fulham fans, as without them I wouldn’t be in the position I am today, so thank you so much."
Liverpool rounded off their Premier League season with a 3-1 win over Wolves on Sunday, though that was not enough to pip Manchester City to the title on a dramatic final day.
Jurgen Klopp's side face Real Madrid in the Champions League final in Paris next Saturday, with the aim of adding to the Carabao Cup and FA Cup trophies already won this season.