In his first full season at the club, Barmby and his new team found themselves in a Premier League relegation battle. However, they survived with a 15th-place finish as Barmby made 25 league appearances and scored four goals. He managed just two goals from 30 appearances the following season as Everton finished just one place above relegation. Injuries restricted him to appearing in just 24 out of 38 league appearances in 1998–99, as he scored three goals. His final season at Goodison Park saw him miss just one league game and find the net nine times, though Everton finished only in 13th place. On 26 February 2000, Barmby scored a hat-trick in a 4–0 win against West Ham United.
After nearly four years at Everton, during which Barmby played 114 league games and scored 18 goals, he headed across Stanley Park to Liverpool for a fee of £6 million on 19 July 2000. It was the first time since striker Dave Hickson in 1959 that Everton had sold a player to Liverpool – although six players had moved in the opposite direction in the 41 years between Barmby's transfer and that of Hickson.
Barmby was involved in Liverpool's successful season of 2000–01 in which they won the FA Cup, League Cup and UEFA Cup. He scored against his previous club Everton in the Merseyside derby in October 2000, and scored a penalty kick in the shootout against Birmingham City in the League Cup Final. An injury picked up in the FA Cup semi-final in April put his participation in the FA Cup and UEFA Cup finals in doubt. In the end he was left out of the FA Cup final squad but was on the bench for the UEFA Cup Final. The following season he started as Liverpool won the 2001 FA Charity Shield. However after persistent injury and lack of form blighted his second season at the club, Barmby was sold to Leeds United in August 2002 for a fee of £2.75 million, where he linked up with Terry Venables, his first manager at Tottenham. Barmby scored eight goals in his time at Liverpool, all of which came in the 2000–01 season: four in the UEFA Cup, two in the League, and one each in the FA Cup and the League Cup.
Kevin Keegan recalled Barmby in May 2000 and named him in the preliminary squad for Euro 2000. He featured in the three warm-up games against Brazil, Ukraine, and Malta, before being named in the final squad on 1 June. Barmby made substitute appearances in the games against Germany and Romania as England were eliminated in the group stages.