Dorival Junior's men did everything they could to keep their survival hopes alive by beating Bahia 2-1, but Coritiba's 1-0 win over Sao Paulo saw Fluminense relegated.
Fluminense had fallen behind just before half-time to a William Barbio goal, but strikes from Wagner and Samuel turned things around only for the final whistle to bring disappointment.
They will be joined in Serie B next season by Vasco de Gama, who were thrashed 5-1 by Atletico Paranaense.
The match - being held in Joinsville due to past problems between the fans - was overshadowed by violence in the stands that saw at least three people hospitalised and the game delayed for over an hour.
A fifth-minute Manoel header put Paranaense ahead, but once the game had restarted Vasco drew level through Edmilson.
Ederson's goal just before the break and three second-half strikes sealed the win for Atletico and a Copa Libertadores place.
Botafogo will also feature in the Copa Libertadores if Ponte Preta fail to win the Sudamericana after the former recorded a 3-0 victory over 10-man Criciuma. Clarence Seedorf scored the final goal in a comfortable victory.
The top two - Cruzeiro and Gremio - ended the season with respective draws against Flamengo and Portuguesa, while a Walter Montillo double helped Santos to a 3-0 win over 10-man Goias.
Elswehere, Atletico Mineiro and Vitoria shared four goals in a thrilling encounter in Belo Horizonte.
Vitoria raced into a 2-0 lead inside six minutes, but Mineiro produced a stunning comeback with Ronaldinho grabbing a goal at the end of either half.
Already relegated Ponte Preta picked up a 0-0 draw with Internacional, while Nautico ended the campaign with a fifth win as they beat Corinthians 1-0.
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1