The way I do it is remove as much rust and loose rust as possible. Treat with Hammerite Krust - turns the rust black. After a couple of hours then paint with a rust prevention primer - 2/3 layers, then paint with colour of choice.
For bad rust it might be worth a second treatment prior to priming to insure you've got it all.
I'm not sure what the Krust actually does, but obviously a chemical reaction takes place to convert the iron oxide to something more stable. In a recent survey in practical classic the Bilthamber rust treatment just edged Krust into 2nd place - www.bilthamber.com.