Mr Bhalla was endorsed by current Mayor Dawn Zimmer, who in a surprising decision announced not to run for re-election in June.
He is the first Sikh to hold elected office in New Jersey.
Mr Bhalla, who has been on the city council for more than seven years, claimed the victory at Moran's Pub on Garden Street yesterday with dozens of his supporters, as well as his friends and family, NJ.com reported.
"Thank you Hoboken. I look forward to being your Mayor!," Mr Bhalla tweeted.
"Thank you for having faith in me, for having faith in our community, faith in our state, and faith in our country; this is what America is all about," he told his supporters after winning the elections.
"We've been through a bruising campaign... but now is the time we come together and see who we can work with to bring this city forward," he said.
He bested a six-person field of challengers that included council members Michael DeFusco and Jennifer Giattino, as well as Hudson County Freeholder Anthony Romano, the report said.
The wide-open campaign that kicked off in June with Mr Zimmer's announcement quickly turned into heated race, with Anthony Romano's campaign manager, Pablo Fonseca, calling the race "ugly" and "divisive", the report said.
The race turned ugly in recent days when doctored campaign fliers began circulating anonymously attacking Mr Bhalla.
Last week, Mr Bhalla was labelled a terrorist in slanderous flyers left on car windshields.
Yesterday, a flyer w/ word "terrorist" above a pic of me was circulated in Hob. Of course this is troubling, but we won't let hate win. pic.twitter.com/Ri9xrYF4Al- Ravinder S. Bhalla (@RaviBhalla) November 4, 2017
They have a photo of New Jersey Councilman Bhalla. In red letters above him, the flyers read: "Don't let terrorism take over our Town!", it added.
The recent flyers were not the first time he had been referred to as a "terrorist". A Jersey City man previously tweeted: "how the hell did Hoboken allow this guy to be a councilman. He shouldn't even be allowed in the US #terrorist."
Mr Bhalla tweeted about the flyers. They read "Don't let TERRORISM take over our Town!".