Ruling on a case brought by 11 restaurant owners, the administrative court noted that new infections in Germany currently stem from private gatherings of family and friends, at community facilities, meat-processing plants, religious gatherings or in connection with travel.
Closing food and drink establishments was therefore a “disproportionate encroachment on the freedom” of the industry, the court ruled.
City authorities had ordered the sector to close early from last weekend, as infection numbers surge in the German capital.
Under rules agreed by premiers of Germany's 16 states and Chancellor Angela Merkel, the measure is to kick in once new infection numbers climb above the threshold of 35 per 100,000 people in seven days.
More drastic restrictions are imposed when the daily caseload climbs to 50 per 100,000 people.
All districts in Berlin have exceeded this number, with Berlin-Neukölln currently counting the highest number of infections within Germany.
At Merkel's latest talks with the state premiers on Wednesday, a slew of other curbs were agreed for so-called corona hotspots, including caps on the number of people gathering indoors and a ban on late-night alcohol sales.
But the new round of restrictions that come as Germany's daily infection numbers soar past 7,000 — a new record for the country since the pandemic — has been met with greater resistance.
Elsewhere in the country, several courts in different states have overturned bans on hotel or holiday home stays for domestic travellers from corona risk zones.