The champions got off to an electrifying start with Xavi and Lionel Messi putting them 2-0 ahead inside the 12 minutes.
But Ruben Castro pulled one back in the 32nd minute as Barcelona conceded their first league goal at home this season.
Roque Santa Cruz then stunned Barcelona by firing in the equaliser in the 52nd minute.
Betis had defender Mario red-carded in the 70th minute following a challenge on Messi and five minutes later Alexis Sanchez restored Barcelona's lead from a Xavi pass.
Messi then converted an 86th-minute penalty for 4-2 after a handball in the area.
(For more sports news and updates, follow Ahram Online sports on Twitter: @AO_Sports)
Short link: