The Chile international limped out of training on Sunday and Bayern are waiting to hear how long he will be sidelined for.
“Arturo went down without any contact and injured himself,” said Bayern head coach Heynckes.
“A part of the joint has come free. He needs a small operation and will be out for the short term, but we don’t yet know how long for.”
Bayern host holders Real next Wednesday, April 25, in the first leg of their semi-final at the Allianz Arena, with the return leg in Madrid on May 1.
However, Heynckes did not rule Vidal out of facing the Spanish giants.
“He would have liked to play against Real,” said Heynckes.
“Arturo is a fighter, he’s a very professional player and he really wants to play.
“He is one of those players who can really bite his teeth, he is not squeamish and (he is) highly professional.”
Nevertheless, losing the 30-year-old for forthcoming key games is a blow to Bayern’s hunt for the treble.
Vidal will miss Tuesday’s German Cup semi-final against his old club Bayer Leverkusen.
French midfielder Corentin Tolisso is also struggling to recover from a knock.
A cup victory at Leverkusen would put Bayern in the May 19 final in Berlin — another step towards repeating their 2013 treble.
The Bavarian giants have already secured a sixth straight Bundesliga title, holding a massive 20-point lead over Schalke at the top of the table with four games left.
Download our app and read this and other great stories on the move. Available for Android and iOS.