Halong Bay is in Quang Ninh province that has a Van Don airport. However the airport is 70 km from Halong city, so it is not an optimal option unless you wish to visit Van Don and around before coming to Halong.
From Hanoi you can catch direct flights to Halong by helicopter or seaplane. Those flights depart from Gia Lam airport, 11 km from city center.
By helicopter, contact Trực thăng Miền Bắc. Add: Km No 1, Nguyễn Văn Linh, Gia Thụy, Long Biên, Hà Nội. Phone: 1900 234 505, the price start from $100 for a Halong sightseeing short flight and would be higher for a Hanoi – Halong trip. If you can’t contact them, contact my friend Tweely at the agency above, she might get you the best deal.
By seaplane, the service is provided by Hai Au Aviation. Floor 11, 70-72 Ba Trieu Street, Hang Bai Ward, Hoan Kiem District, Hanoi, Vietnam. Hotline: +84 (0) 962 069 689. You should check with Tweely also, she might get a better deal than on the Hai Au website.