Grujic became Liverpool manager Jürgen Klopp’s first signing after joining the Reds in January 2016
Porto have signed midfielder Marko Grujic for £ 10.5m from Liverpool, who will also sell striker Taiwo Awoniyi to Union Berlin for £ 6.5m.
The 25-year-old Serbian international Grujic was loaned to Porto last season and played 28 league games and eight Champions League games for him.
The 23-year-old Nigerian Awoniyi scored five goals in 22 games on loan for the German club Union Berlin last season.
Liverpool have negotiated sales clauses of 10% on both deals.
Grujic was Reds manager Jürgen Klopp’s first commitment to the club when he came from Red Star Belgrade in January 2016 for £ 5.1million.
He played 16 games for Liverpool and was also loaned out to Cardiff City, Hertha Berlin and Porto.
Awoniyi, who joined Liverpool in August 2015, has not played for the club and has just been issued a work permit May play in the UK.
During his time in Liverpool he was loaned to FSV Frankfurt, NEC Nijmegen, Royal Excel Mouscron, Gent, Mainz and Union Berlin.