There is at least one daily direct flight on AirAsia from Singapore to Bandung. Silkair flies to Bandung thrice a week.
However, since I was looking for an evening flight and also due to budget, we decided to fly to Jakarta, then take a bus to Bandung.
From Jakarta airport, there is a direct airport shuttle to Bandung city which is 3 hours away. However, if you arrive on a Friday or Saturday, be prepared that the journey will take twice as long. The Primajasa bus ride costs R115000, if you want a more comfortable option, there is also a minivan (R160000) or X-trans bus (R140000) which brings you closer to the Bandung city centre. The terminus in Bandung for Primajasa was located quite far out.
If you are staying in Bandung, X-Trans and the train terminate at a more central location than Primajasa. If you wish to continue to another city by bus (e.g. Pangandaran), the Primajasa terminus next to the main toll road is more convenient.
For those who are already in Jakarta city, you can take the train from Gambir station to Bandung. It cost R80000 for a one-way ticket in third class. The ride was quite comfortable and you can avoid the traffic jams. Also, the scenery through the countryside is quite beautiful. From Jakarta airport, there is a Damri shuttle bus (R40000) which will bring you to Gambir station, where you can get the train to Bandung. However, the last train from Jakarta to Bandung leaves at 20:00, so if you are arriving later than that timing, it is better to take the bus which runs until midnight.
If arriving at Jakarta Airport on a weekday afternoon or the day before public holidays, it may be easier to take the train. At other times, the airport bus may be more suitable.