The decision was made at a meeting on Tuesday between the club and the Catalan Regional Government.
“It is a decision that has been taken strictly for health reasons,” said Joan Guix, the Health Secretary of the Catalan Regional Government.
More than a thousand coronavirus cases have been recorded in Spain.
Valencia vs Atalanta, Juventus vs Lyon and Paris Saint Germain vs Borussia Dortmund will all go ahead without fans attending the games, and Bayern Munich’s game against Chelsea next week is likely to join the list.
A statement from Barcelona read: “The Champions League game to be played on 18 March between FC Barcelona and Napoli will be played behind closed doors at Camp Nou.
“The decision was taken after a meeting on Tuesday morning between FC Barcelona representatives and those of the Catalan Regional Government (Generalitat de Catalunya). The Club has followed the recommendations of the Generalitat from the meeting which took place in the Department of Health of the regional government.”
The first leg at the Stadio San Paolo ended 1-1 after Antoine Griezmann cancelled out Dries Merten’s opener for Napoli.
It was also announced by La Liga authorities on Tuesday that all Spanish top flight games will be played behind closed doors for the next two weeks.