such as Zinsser Bulls Eye 1-2-3. Once dry, roll on two coats of your preferred cabinet paint using a foam roller. Resist the urge to keep smoothing out the paint, as it will self-level as it dries.
I recommend the Zinsser B-I-N stain blocker ... Then let it stand for a day or two before moving on to the next step. The cabinet paint with a hard enamel finish should be durable.