Germany's top court has ruled that the European Central Bank's mass bond-buying to stabilise the eurozone partly violates the German constitution.
The ruling relates to government debt worth €2.1 trillion (£2tn; $2.3tn) bought by the ECB since 2015, but not purchases in the coronavirus crisis.
The Constitutional Court in Karlsruhe says there is not enough German political oversight in the purchases.
Germany's Bundesbank carries the most weight in the ECB's decisions.
Later the EU's executive appeared to play down the ruling, by stressing that EU law takes precedence.
"Notwithstanding the analysis of the decision of the German Constitutional Court today, we reaffirm the primacy of EU law," said European Commission spokesman Eric Mamer.
In three months' time the Bundesbank could pull out of the ECB's bond purchases - that is the deadline that the judges have set for the ECB to give a valid explanation.
Italy is among the countries most reliant now on ECB bond purchases because of the severe economic impact of the coronavirus pandemic.
What is the impact of this ruling?
The court decision was being closely watched by the markets. After the announcement, the euro fell to $1.0889 and eurozone debt ratings fell too, Reuters news agency reports.
Market analysts quoted by Reuters say the ruling raises fresh doubts about the ECB's massive bond-buying programme, also known as "quantitative easing".
It may also put pressure on the ECB's current €750bn bond-buying scheme aimed at helping the eurozone through the coronavirus crisis.
Why did the ruling come about?
The ECB's mass bond-buying was launched after the eurozone's 2010 crisis as support for the euro besides the EU's national bailouts for Greece and some other countries.
The scheme challenged in court is called the Public Sector Purchase Programme (PSPP), launched in March 2015, under which the ECB had bought €2.1tn of bonds by November 2019. Separately, the ECB bought bonds worth another €0.5tn.
The plaintiffs are a group of German academics, including a former leader of the far-right Alternative for Germany (AfD), Bernd Lucke. They argue that the purchases violate the EU ban on one eurozone member subsidising the debts of another.
The bigger issue is the continuing heated debate about imbalances in the eurozone and widespread fears that richer members could end up subsidising weaker ones directly.
In order to avoid breaking EU rules, the ECB buys government debt in secondary markets, not directly from the issuing countries.
In the current crisis the spotlight is on Italy, because of its enormous external debt pile and the damage done by the lockdown.
What else did the judges say?
The court ruled that the German government and parliament had failed to ensure that the ECB's purchases were "proportionate".
But the court did not find that the ECB's actions had violated the EU ban on direct budgetary support.
That was in line with the European Court of Justice, which ruled in December 2018 that PSPP purchases did not go beyond the ECB's mandate.
The Karlsruhe court also said Tuesday's ruling "does not concern the current EU or ECB financial aid provided in the coronavirus crisis".
It is now up to the ECB to explain how its mass bond-buying programme is "proportionate". The Bundesbank could pull out if it is not satisfied, in three months' time - which would be a big blow to the eurozone.
The judges also instructed the ECB to sell the bonds accumulated under the PSPP.