Leonardo Jardim's Ligue 1 leaders attacked with the inventive verve they brought to a first-leg thriller at the Etihad Stadium but, unlike when they eventually prevailed 5-3 last month, Pep Guardiola's City failed to muster any response during a first half when they were entirely overwhelmed.
Teen sensation Kylian Mbappe spearheaded Monaco's charge from kick-off, the striker's 11th goal in his past 11 starts coming after eight minutes and Fabinho added a nicely worked second.
The Premier League side froze amid the onslaught but diligently wrested control of the contest during the second period, with Leroy Sane's goal a reward for those efforts.
But City switched off from a Thomas Lemar free-kick and Bakayoko headed in his maiden European goal to ensure Guardiola would fail to reach at least the semi-finals of the Champions League for the first time in his coaching career.
Monaco had to do without top scorer Radamel Falcao due to a hip injury but Mbappe soon showed he was in the mood to continue his electric recent form.
The 18-year-old burst in between the City centre-backs to draw a strong right-handed save from Willy Caballero in the City goal and, when the visitors failed to fully clear the resulting corner, Bernardo Silva picked out Mbappe for a close-range finish.
The Premier League side were struggling to break out of the defensive third, with Monaco doing an excellent job of disrupting their build-up play, and Mbappe rifled home a clinical strike across Caballero in the 16th minute, only to be correctly ruled offside.
A second Monaco goal felt inevitable and it arrived within the half hour – Lemar and Benjamin Mendy combining superbly on the left before the latter's drilled cross evaded Aleksandar Kolarov and Fabinho side-footed firmly into the net.
Jardim's men continued to dominate, with the mercurial Bernardo Silva to the fore, and their passing came with a precision and purpose entirely absent from the work of their visitors, who ended a torrid first half without managing a shot on goal.
6 – For the 1st time in #UCL history, a team is eliminated in the knockout stages despite scoring 6 goals on aggregate. Brutal. #ASMCITY pic.twitter.com/GVl1uwpSXe — OptaFranz (@OptaFranz) March 15, 2017
Kevin De Bruyne, a notably abject performer for City during the opening 45 minutes when plenty fell into that category, dropped into a deeper midfield role after the break and Guardiola's men gained a measure of control.
Raheem Sterling was caught in two minds as he burst into the box in the 56th minute – his eventual cutback saw Sergio Aguero crowded out.
Fellow winger Sane was more decisive when he scooted past Andrea Raggi but a stretching Aguero prodded the Germany youngster's powerful cutback harmlessly over.
City were knocking on the door, but they would rue Aguero's normally sound instincts in front of goal deserting him after David Silva burst the Monaco offside trap in the 65th minute.
Sane ignored the Argentina international inside him when he slotted past onrushing goalkeeper Danijel Subasic and into the side-netting, but he was on hand to showcase timely poaching instincts 19 minutes from time.
Sterling located the incisiveness he lacked earlier by getting off a left-footed shot that Subasic could only parry at full stretch to leave Sane with a simple finish.
However, an undulating tie had one final twist as Bakayoko pounced, leaving the FA Cup as the only route to silverware realistically still open to Guardiola in his maiden season.
By contrast, Jardim's brilliant Monaco are in the running for an unprecedented quadruple.
Key Opta stats:
- Manchester City are the first team in Champions League history to be eliminated in a knockout tie after scoring five goals in the first leg.
- Monaco have progressed from all four of their Champions League knockout ties against English teams.
- Bernardo Silva has provided an assist in each of his last three games for Monaco in all competitions.
- City are without a clean sheet in their last 11 away games in the Champions League (excl. qualifiers).