A Venezuelan opposition activist takes part in a demonstration in Caracas, demanding that the government release political prisoners and set a date for the parliamentary elections. (Federico Parra/AFP/Getty Images)

Venezuela will hold parliamentary elections on Dec. 6, officials in Caracas said Monday, setting a date for a contest that will offer the country’s long-suffering opposition a chance to make its most substantial gains in more than a decade.

With President Nicolás Maduro weakened by sagging oil prices, a financial crisis and rampant crime, his opponents have feared the government would attempt to cancel or postpone the vote to spare itself an embarrassing defeat.

Maduro, the handpicked successor to the late Hugo Chávez, is not up for reelection until 2019. But if the opposition takes control of parliament, it would raise the chances of a recall referendum against him next year. In the latest public opinion surveys, Maduro’s approval rating is around 25 percent.

“Now we have the date of the battle for a new people’s victory,” Maduro posted on Twitter following the announcement.

Setting a date for the parliamentary elections was a priority for Maduro’s rivals, including jailed opposition leader Leopoldo López. Held at a military prison since February 2014 on accusations of inciting violence during last year’s bloody street protests, López has been on a hunger strike for the past 28 days, ingesting only liquids, according to his family. His father told reporters Monday that López would end his fast in the next 48 hours.

The election announcement came just days after a meeting between State Department counselor Thomas Shannon, a former assistant secretary for Latin America, and the president of Venezuela’s National Assembly, Diosdado Cabello, who is being investigated by U.S. officials for drug trafficking and money laundering.

Shannon traveled to Caracas earlier this year for talks with Maduro after the United States imposed sanctions against seven high-ranking Venezuelan officials. Shannon attended a follow-up meeting in Haiti last week and did not know Cabello would be present, according to U.S. officials.

“We don’t get to pick their delegation,” one official said.

Setting the date for elections was one of three U.S. goals in the talks, officials said. The others are ensuring that international observers monitor the vote, as well as keeping López alive and seeing him and other political prisoners freed.

Following the meeting with Shannon, Cabello flew to Havana, where he published photographs of meetings with Fidel and Raúl Castro on his Twitter account.

Polls indicate Venezuela’s opposition would be on track for a major victory in December. But analysts say the government will spend heavily to rally its supporters and has redrawn election district lines to the benefit of Maduro’s ruling United Socialist Party.

nick.miroff@washpost.com

Karen DeYoung in Washington contributed to this report.

Argument between U.S., Venezuela puts Cuba in an awkward position

Why Latin America makes a point of not toeing the Washington line

Venezuela’s errant golf balls violate Vienna Convention, Swiss ambassador says