I recently painted a two car garage ceiling (pictures are below). It had a lot of stains on it. When home owners want me to fix stains, they almost always assume that I am going to use Kilz. This product has be marketed as a great stain blocker. It might block some stains, but not all. In the past it has failed to work for me. Therefore, if I am dealing with stains, I use Zinsser’s Bin. It has never failed. Bin is a nasty product to work with. I always use a throw away brush, or assume that the brush that I am using will be trashed after I am done.
Bin is a shellac based product, and has a very watery consistency. If you are doing a big job (like an entire ceiling) you will need to vent, or if it is too cold out to vent, wear a mask. I suggest using a mask for any big job with Bin. For job that is in the pictures below, I used a mask, wore long sleeves, a hat, rubber gloves, and work glasses that covered the side of my eyes. the glasses and my my gloves were covered with paint specks. Luckily I was able to clean off the glasses with denatured alcohol.
Unfortunately, I forgot to take a picture after using the Bin. One coat did a great job at covering the stains. Sometimes, two coats are needed. But, it is important to ethat even if the stains can still be seen, the shellac keeps the stain from coming through to the latex finish coat. Only when the stain is still really noticable after a first coat of Bin, will I use a second. On this job, the Bin did such a great job with one coat, that I was able to finish the job with only one coat of flat white paint. This was a garage ceiling, so the home owner was not overly concerned with the ceiling looking perfect. If I was painting a bedroom or living room, it is most likely that I would have applied a second coat of ceiling paint.