The five-time Ballon d'Or winner fell awkwardly on his right arm in the 17th minute of the La Liga clash with Sevilla at the Camp Nou on Saturday and was immediately in visible pain.
He underwent treatment as the game continued with his arm being wrapped by trainers while he laid on the sidelines.
However, he remained down after treatment in obvious discomfort and was unable to continue, eventually being replaced by Ousmane Dembele after 26 minutes.
The club have now confirmed he has fractured a bone in his right arm, ruling him out for the next three weeks including the visit of their arch rivals, along with a crucial Champions League tie against Serie A side Inter.
Messi had already left his mark on the game as he helped Barcelona into a 2-0 lead, teeing up Philippe Coutinho for the opener before netting his 32nd career goal against Sevilla inside the opening 12 minutes. Ernesto Valverde's side went on to win 4-2.
More about: Messi