Bologna midfielder Andrea Poli opened the floodgates when he turned a Leonardo Spinazzola pass into his own net after five minutes. Edin Dzeko ran onto Lorenzo Pellegrini's through ball to add a second for Roma five minutes later.
Bologna's second-choice goalkeeper Federico Ravaglia, making his Serie A debut, had to pick the ball out of the net again after only 15 minutes after Pellegrini after an assist from Spinazzola.
Pellegrini then had a goal disallowed for offside and Bologna pulled one back in the 24th minute -- although it was scored by a Roma player, Bryan Cristante turning Musa Barrow's cross into his own net.
Furious Bologna coach Sinisa Mihajlovic said his players would be confined to a training camp, known locally as 'ritiro', until Christmas.
"The first half was disastrous," he said. "We played like amateurs against a professional team. From tomorrow we go into training camp and we'll clear our minds. I warned the lads it would happen if they showed the wrong attitude again."
"We've been through a lot together and I've always tried to look after them. Sometimes I've made excuses for them, as you do with children, but there's a limit to everything."
Jordan Veretout finished off a neat passing move for the fourth in the 35th minute, and Henrikh Mkhitaryan put the finishing touch to Rick Karsdorp's run down the right for the fifth one minute before halftime.
Bologna coach Sinisa Mihajlovic made three half-time substitutions, and his team stemmed the tide after the break.
Barrow and Nicolas Dominguez had goals disallowed for Bologna for offside while Pellegrini had another Roma effort chalked off as offside shortly afterwards, before Borja Mayoral hit the woodwork for the visitors.