Democratic Rep. Beto O'Rourke aggressively cast Republican Sen. Ted Cruz as "all talk and no action" during the second -- and potentially final -- debate of the Texas Senate race Tuesday night.

The hour-long debate showcased a major shift in tone for O'Rourke, who rarely says the names of Cruz or President Donald Trump on the campaign trail and has often bypassed his opportunities to take direct shots at Cruz.

Beto O'Rourke

Business and industry sectors

Business, economy and trade

Continents and regions

Donald Trump

Elections and campaigns

Government and public administration

Government bodies and offices

Government health insurance

Government organizations - US

Health and medical

Health care

Health insurance

Insurance

International trade

Medicaid

North America

Political Figures - US

Politics

Social assistance and welfare

Society

Southwestern United States

Ted Cruz

Texas

The Americas

Trade and development

United States

US Congress

US federal government

US House of Representatives

US Senate

White House

The change in approach could be necessary for O'Rourke. A new CNN poll out Tuesday showed Cruz with a 7 percentage point lead -- consistent with other recent surveys that have shown the Republican clearly ahead. O'Rourke had $22.9 million in the bank at the close of the third quarter of 2018, giving him enough money to advertise across the state in the race's final three weeks.

Minutes into the debate, as Cruz accused O'Rourke of supporting a $10-a-barrel tax on oil, the El Paso congressman shot back that Cruz is "dishonest."

"It's why the President called him 'Lying Ted,' and it's why the nickname stuck -- because it's true," he said.

The vote in question was a 2016 House GOP resolution that rejected the idea of a new oil tax. O'Rourke and most Democrats opposed the measure.

"Congressman O'Rourke sides with liberal extremists on the national level, instead of the people of Texas -- instead of jobs in Texas," Cruz said.

O'Rourke continued his more combative approach through the debate. He highlighted Cruz's 2016 bid for the Republican presidential nomination, saying Cruz hasn't visited all of the 254 counties in Texas, "but has been to all 99 in Iowa."

"Ted Cruz is for Ted Cruz," he said.

The debate showcased differences over social media regulation to combat foreign interference in election -- O'Rourke said he was open to it; Cruz was opposed -- and a stark split on the Supreme Court and the potential for the reversal of the Roe v. Wade decision that legalized abortion.

In a line that underscored Democratic worries that O'Rourke hasn't won over enough Latino voters, Cruz said: "The people of Texas, and I will say, especially the Hispanic community, we don't want to see taxpayer-funded, Medicaid-funded abortions."

A question over trade led to a battle about party control in Congress.

Cruz claimed that O'Rourke is the only Senate Democratic candidate this cycle who has explicitly supported Trump's impeachment.

He said that O'Rourke's election would lead to "two years of a partisan circus, shutting down the federal government in a witch hunt on the President."

"It's really interesting to hear you talk about a partisan circus after your last six years in the US Senate," O'Rourke fired back. "If you have this special relationship with President Trump, then where is the result of that? You are all talk and no action."

"I'm against tariffs. I'm against the trade war," Cruz said. "If we're erecting barriers and shutting down trade, that is a bad thing. This is one of the few issues where Congressman O'Rourke and I have some common ground."

The difference, Cruz said, is that he has a relationship with Trump and can advocate for expanded trade. He praised Trump for negotiating a "new NAFTA, a new trade deal," with benefits for Texas.

O'Rourke criticized Trump for alienating trade partners like Canada and Mexico, and said his trade war is "hurting no state more than it's hurting Texas."

Trump has thrown his support behind Cruz and plans to host a rally for his former rival's benefit. On Wednesday morning, he tweeted that the senator has "done so much for Texas" and that O'Rourke would "blow it all."