The New Colonial Hotel is at the high end of dodgy bars. Upstairs is a functional hotel (single for Rs. 1000, double for Rs. 1500) with spare but clean rooms. Downstairs is a high-ceilinged bar with bad food but decent drinks and a nice ambiance.
What sets the New Colonial apart is that it's essentially a dive bar in a surprisingly gentrified space. The bar could be converted to a posh pub or nightclub in a week. It's clean, airy, well-ventilated and generally nice. There's nice chairs, the staff speaks English, it's OK.
The only downside is that the food is horrendous. A patron next to us complained that the cutlets cost Rs. 150 and were pumpkin and dell (breadfruit) instead of potato, as they should be. He then dropped half a cutlet on the floor and ate it, so take that as you will, but he was a chef at a star class Sri Lankan hotel. We tried deviled pork and it was inedible, all gristly and gross.
The drinks are fine and affordable enough. Rs. 220 for a 100 ml of Old Reserve Arrack, Rs. 270 for a bottle of Lion Lager beer. Surprisingly, most of the patrons were drinking beer, so this isn't a place for professional drinkers.
We spoke with one of the waiters and he said the spot was 80 years old. It's been renovated recently. He was pretty visibly inebriated himself and struggled to make change. Talked to us at length though, very interesting and nice guy.
Would we recommend it? Yeah. It's an interesting space right across from the train station and - bad food aside - is, at least ambiance wise, at the high end of Colombo's dodgy bars.