An acrobatic volley from Gustavo Sangare put the Burkinabe ahead midway through the first half in Yaounde.
But two unerring penalties from captain Vincent Aboubakar turned the game around for the hosts before half-time.
Indomitable Lions keeper Andre Onana made two crucial second-half saves as Toni Conceicao’s side opened their Group A campaign with victory.
There are four games on Monday, with 2019 runners-up Senegal in action and four-time champions Ghana facing Morocco at 16:00 GMT.
Entertaining curtain-raiser in Cameroon
The Nations Cup has been delayed a year by the coronavirus pandemic but, after a colourful opening ceremony, the first game served up an absorbing contest.
Burkina Faso defender Steeve Yago was lucky to only see yellow for a first-minute sliding tackle on Collins Fai, which was the first of several rash challenges which ultimately cost the Stallions.
Burkina Faso took the lead following their first sustained period of pressure after Bertrand Traore saw his header from a corner cleared off the line by Nouhou Tolo and Sangare clipped the crossbar with a cross.
Aston Villa forward Traore picked up the loose ball on the right wing and crossed to the back post for Sangare, who showed brilliant technique to send a first-time volley inside the left-hand upright.
Cameroon were undaunted and were handed the chance of an equaliser five minutes before the break when Traore clumsily brought down Andre-Frank Zambo Anguissa.
The penalty was awarded following a video assistant referee review, and Aboubakar sent goalkeeper Herve Koffi the wrong way from the spot and stroked the ball into the right-hand side of the net.
The hosts then got a second penalty in first-half injury time when Issoufou Dayo slid in on Tolo after the Cameroon defender had played the ball.
Aboubakar, who scored the winner when Cameroon last lifted the Nations Cup in 2017, made no mistake second time around as he went the other way with his penalty.
After the restart Onana kept out an ambitious long-range free-kick from Traore and then denied Cyrille Bayala from close range.
Aboubakar was denied a hat-trick by a tight VAR offside call, while Zambo Anguissa fired narrowly wide as the Indomitable Lions looked to put the game to bed.
The hosts, who are looking to lift the continental trophy for a sixth time, are back in action on Thursday, against Ethiopia.
Ethiopia pay price for early dismissal
The east Africans went down to 10 men early on after Yared Bayeh failed to control a wayward back header and brought down Julio Tavares just outside the box in the eighth minute.
Initially shown yellow by Angolan referee Helder Martins de Carvalho, the centre-back had his card upgraded to red after a lengthy VAR check.
Substitute Mignot Debebe almost scored a freak own goal, but his miscued clearance was clawed away by Ethiopia keeper Teklemariam Shanko on the line, and Shanko then saved well from midfielder Dylan Tavares.
The islanders hit the front when a deep cross from the left flank was volleyed back across goal by the ever-bright Garry Rodrigues and striker Tavares was on hand to convert from close range.
Coronavirus hits preparations
The mid-season timing of the tournament has received criticism from European clubs, while the emergence of the Omicron variant of Covid-19 is having an impact on fans and players.
Attendances are capped at 80% of capacity for Cameroon’s matches and 60% for all other games, while supporters must be double-vaccinated and have a negative test.
Those restrictions did not seem to impact on a lively crowd watching the hosts, but the Burkinabe were without coach Kamou Malo and six players because of positive tests – and a host of players will be missing from Monday’s matches.
Senegal, beaten by Algeria in the 2019 final, are set to have just 17 players available for their Group B opener against Zimbabwe because of Covid-19 cases and injuries in their squad.
Guinea and opponents Malawi have also been hit by outbreaks while Morocco pair Aymen Barkok and Auyoub El Kaabi are out of their Group C opener.
Elsewhere, Gabon captain Pierre Emerick-Aubameyang will not face debutants Comoros after testing positive on arrival in Cameroon on Thursday.