Barnes scored two goals in nine games for the England under-21s, both against Norway. He made his full England debut at Wembley on 16 November 1977, in a 2–0 win over Italy. However the Italians qualified ahead of England for the 1978 World Cup. He scored against Wales in the 1978 British Home Championship and against Scotland the following year. He went on to play in five of England's eight qualifying games for the 1980 European Championships, scoring in a 3–0 win over Bulgaria at the Vasil Levski National Stadium, but was not taken to the tournament itself. He featured in two qualifying games for the 1982 World Cup, defeats to Norway and Switzerland, but was again not selected for the tournament itself. He played his last international game on 25 May 1982, in a friendly with the Netherlands. He won a total of 22 caps, scoring four international goals, and also represented the England B team.