The Swiss winger found the net twice as Bayern cruised to a 4-0 league victory over Freiburg on Saturday, with Dante and Claudio Pizarro joining him on the scoresheet.
However, the 22-year-old was withdrawn from the action in the 61st minute, and the club has since confirmed a muscle tear.
Despite the injury, Shaqiri remained in good spirits after the match, saying: "Today we have had fun and are all glad that we won the game."
The victory is Bayern's 13th in a row in the Bundesliga and stretches their record unbeaten top-flight streak to 46 matches, and coach Pep Guardiola, who named a weakened team ahead of the trip to the Emirates Stadium, was full of praise for his players.
"It's always difficult when everyone says you have to win," the Spaniard said. "I am very satisfied. It's incredible how the players concentrate again and again, no matter what.
"This time we have not played great, but respectable. We played well only in the first 15, 20 minutes of the second half.
"The quality of our squad was the difference today."
And goalkeeper Manuel Neuer hoped the performance could inspire another positive display at Arsenal.
"It was a great day for us," he added. "We wanted to deliver a good performance in front of the Arsenal game. Now we look forward to the Champions League."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.