Philadelphia Mayor Jim Kenney scored an easy victory Tuesday in his bid for a second term, defeating two Democratic primary challengers he treated more as nuisances than threats.

On stage at his victory party Tuesday night, Kenney touted his support for and from organized labor and his expansion of pre-K programs. He promised in a second term to “work together to build a stronger and more equitable Philadelphia.”

“Serving as your mayor has been the greatest honor of my life,” a low-key Kenney told a fired-up crowd chanting his name. “There’s something special about being mayor when you walk into a pre-K classroom and see how a quality education serves our children.”

It was the culmination of a top-of-the-ticket primary race that never caught fire, played low-key on television, and inspired little more than bickering with the incumbent in the few times the candidates’ paths crossed.

Kenney set his strategy secure in the knowledge that no incumbent mayor in Philadelphia who has sought a second term has lost since a new city charter first authorized two terms seven decades ago.

Winning the Democratic nomination has usually equaled election in a city that has not elected a GOP mayor since 1948.

Defense attorney Billy Ciancaglini ran unopposed in Tuesday’s Republican primary for mayor. Ciancaglini has run for judge as a Democrat, joining the GOP last year, and has been a caustic critic of Kenney, but also has spent months quarreling on social media with other Republicans.

In the primary, Kenney made the political calculation to mostly avoid interacting with State Sen. Anthony Hardy Williams and former City Controller Alan Butkovitz, agreeing to just one candidate forum in April and a televised debate last week. He chafed at suggestions that he wasn’t running a real campaign, insisting his duties as mayor keep him busy.

Tony Williams talks with Chanice Savage, left, and Rita Gordon, right, after voting at Anderson School on South 61st Street in Philadelphia, on May 21, 2019.
Staff Photographer / JESSICA GRIFFIN
Tony Williams talks with Chanice Savage, left, and Rita Gordon, right, after voting at Anderson School on South 61st Street in Philadelphia, on May 21, 2019.

At the same time, Kenney did not spell out what he’d do with another four years.

“I guess all mayors entering a second term are a little disappointing,” said Barbara Schraeder, who voted for Kenney at the McCall School in Washington Square. “At least in Philadelphia.”

Her husband, Paul Schraeder, 78, also voted for the mayor. “He’s not perfect, but I think he’s trying to do the right thing.”

Butkovitz conceded the race just after 9 p.m., wishing Kenney well. “We felt it was important to give people a choice in this election,” he said. “I hope this campaign has sharpened his skills and that he will have a successful new term.”

With his wife Theresa, former city controller Alan Butkovitz concedes the Democratic mayoral primary to Mayor Jim Kenney May 21, 2019.
TOM GRALISH / Staff Photographer
With his wife Theresa, former city controller Alan Butkovitz concedes the Democratic mayoral primary to Mayor Jim Kenney May 21, 2019.

Williams conceded at 9:45, also wishing the mayor well.

"To our current mayor and our future mayor, Mayor James Kenney, we congratulate him tonight on his victory and we send prayers for him, his family, members of his administration, and most importantly for those of us who live in Philadelphia that his next four years will be prosperous and successful for all of Philadelphia.”

Democratic Vote for Mayor

Mayor Jim Kenney won 66 of the city's 67 wards, trailing only in the 3rd Ward, home of challenger Anthony Hardy Williams. Results are as of 1 a.m. Wednesday, with 98 percent of votes counted.

SOURCE: Philadelphia City Commissioners
JOHN DUCHNESKIE / Staff Artist

Much of the campaign centered on a dichotomy — Kenney’s signature achievement is a sweetened-beverage tax that funds pre-K programs, park improvements, and repairs to recreation centers and libraries. The tax is resoundingly unpopular. The programs it funds have been embraced by voters.

>> READ MORE: Party-backed millennials come out on top in at-large City Council primary races

Williams and Butkovitz promised to repeal the tax while keeping the programs, which Kenney rejected as fiscally irresponsible. And while the American Beverage Association spent $521,196 on television commercials critical of Kenney and the tax, it never embraced either challenger.

Conversely, the tax prompted plenty of backing from Kenney’s supporters. Former New York Mayor Michael Bloomberg gave $1 million to Forward Together Philadelphia, a political action committee also supported by the American Federation of Teachers. That PAC spent $800,000 on television commercials backing Kenney.

Philly 2019, funded by building trades unions that will put members to work on projects funded by the tax, spent $552,601 on its own television commercials. Local 98 of the International Brotherhood of Electrical Workers kicked in $200,000 of that. The union’s leader, John “Johnny Doc” Dougherty, was indicted along with seven other Local 98 officials on Jan. 30, accused of embezzlement. The defendants have all pleaded not guilty.

Williams and Butkovitz tried to paint Kenney as a political puppet controlled by Dougherty. Kenney pushed back, noting both Williams and Butkovitz had accepted hundreds of thousands of dollars in Local 98 donations during their careers.

Williams and Butkovitz also assailed Kenney for his support for supervised injection sites, where people addicted to IV drugs would be able to use them in a private nonprofit facility that provides medical services to prevent overdoses. And they knocked the mayor for not delivering on his promise to eliminate the stop-and-frisk police tactic for pedestrians.

In the end, one challenger was relitigating the 2015 primary result while the other was trying to run a race he abandoned four years ago. Neither plan worked.

Williams, serving in his sixth term in the state Senate, attempted to recast one of his campaign’s liabilities — a lack of resources — into a sign of strength. He drew far more support from contributors when he entered the 2015 primary as a presumptive front-runner but finished a distant second to Kenney.

He pitched his campaign this year as a grassroots effort focused on listening to voters. While he has held elected office in the city for 30 years, including five terms in the state House, Williams has always faltered in competitive elections, including a 2010 bid for governor.

Butkovitz bailed on his bid for mayor four years ago, a moment of indecisiveness that he had been trying to undo for months in this race. He presented himself as the anti-Kenney, but rebranding as a reforming rebel proved difficult for the longtime ward leader from Northeast Philadelphia who served eight terms in the state House and lost his bid two years ago for a fourth term as city controller.

Staff writers Laura McCrystal, Justine McDaniel, and Michaelle Bond contributed to this article.