Imperial Vanilla Milk Stout Recipe

Big stouts and vanilla is a natural pair. Add a touch of creamy sweetness, and you’ve got a winner. This recipe has a luscious mouth feel from the flaked barley and crystal malts, smooth roast flavors of coffee and chocolate, subtle dark fruit notes, and a slight sweetness from the lactose. This is a slightly sweet beer, but not nearly as sweet as many commercial sweet stouts.


Volume: 5.57 Gallons
Original Gravity: 1.077
Terminal Gravity: 1.028
Color: 34.63 SRM
Alcohol: 6.52%
Bitterness: 39.2
Efficiency: 64% (tweak recipe to match efficiency of your brew house)
Boil Length: 60 Minutes


12 lb (63.6%) Maris Otter; Crisp
3 lb (15.9%) Barley Flaked
6 oz (2.0%) Crystal 60; Crisp
8 oz (2.6%) Crystal 120; Crisp
8 oz (2.6%) Special B – Caramel malt; Dingemans
12 oz (4.0%) Chocolate Malt; Crisp
12 oz (4.0%) Pale Chocolate Malt; Crisp
8 oz (2.6%) Roasted Barley; Crisp
.75 oz (42.9%) Magnum (12.5%) – added during boil, boiled 60 m
1 ea Whirlfloc Tablets (Irish moss) – added during boil, boiled 15 m
8 oz (2.6%) Lactose
.75 tsp Wyeast Nutrient – added during boil, boiled 10 m
1 oz (57.1%) Cascade Leaf (5.7%) – added during boil, boiled 10 m
1 ea WYeast 1968 London ESB Ale – 2400ml 1.040 starter on stir plate
3 ea Madagascar Vanilla Beans – split and soaked in 6oz high quality bourbon – added dry to secondary fermenter


Carbon-filtered Seattle water which is very soft.  All salts added to grist before mashing in.
2 g Epsom Salts (Magnesium Sulfate)
2.0 g Gypsum (Calcium Sulfate)
4.0 g Calcium Chloride (Calcium Chloride)
4.0 g Baking Soda ()


60 Minute Saccharification Rest at 152° F
10 Minute Mashout Rest at 170° F (I do a second hot water infusion to mashout)
Sparge at 170° F and collect sufficient runnings to hit pre-boil volumes.


  1. Chill wort to 64° F and pitch yeast slurry.
  2. Set temp controller to 66° F and allow to rise to this temp.
  3. Ferment at 66-68° F until beer is 2-6 points from terminal gravity then raise temp to 72° F. Hold at 72° F for 2 days.
  4. Chill fermenter to 34° F. Rack beer off yeast into clean container with bourbon soaked vanilla beans (include the bourbon as well).
  5. Age 1 month on vanilla beans before packaging.

Keys to Brewing

  1. Controlling fermentation temperatures and pitching a clean healthy yeast slurry is important in preventing hot alcohols in this beer that would distract from its rich, smooth qualities.
  2. Use fresh high-quality vanilla beans. If they look dried out, they are probably old and shouldn’t be used. Beans should be sticky, almost tacky to the touch. I’d recommend sourcing these online from specific vanilla retailers who move a lot of beans (as opposed to the ones that may languish for months in the homebrew shop).


The beer brewed from this recipe has won several awards as a BJCP Category 21a Spice / Herb / Vegetable Beer:

  • 2012 NHC First Round – 1st Place
  • 2012 Novembeerfest – 2nd Place

15 thoughts on “Imperial Vanilla Milk Stout Recipe

  1. hi i used your Single Tap Recipe and it’s fermenting lovely. it’s definitely been my best work to date and i really like your variety in the recipes. it’s a great resource for brewing. So Thank you!

    I am working on the Vanilla Oatmeal Stout recipe and had a couple quick questions. The vanilla beans seem to be already pre-soaked in Bourbon i am seeing online. Are you soaking them again in Bourbon? if so how much and for how long?

    Also i am trying to find clarification when you say you do a 10 minute mashout rest and 2nd hot water infusion. i let the mash sit for 60 minutes before adding the Sparge Water. if there is an additional step you recommend i just want to be sure to perform it properly.

    • I’ve actually never seen bourbon soaked beans pre-sold. There is a variety of bean called ‘bourbon’ (as well as Madagascar, Tahitian, etc.), so perhaps this is the confusion. I would definitely soak the bean in bourbon and then add the whole things to the secondary for about a week.
      In regard to the mash out step, I do this to help get the mash bed a bit hotter and aid in lautering. It isn’t required, but I tend to do it to stay consistent.

      Unfortunately, I have never brewed with coconut, but have heard of people having good results with dried toasted coconut in their beers. I’m not sure on the amount, but I would add it to secondary with the vanilla.

      • Hi Nick – i am transferring to secondary fermenter to soak vanilla beans and bourbon for one month. does it need to ferment at 34 degree or is that strictly for the transferring process? remember i am transferring to another glass carboy and bottling after a month. Thank you,

      • I think I figured out my solution. it’s been about 7 days in fermenter. Great fermentation! will transfer to secondary w/vanilla bean soaked in bourbon for 1-2 weeks at room temperature. Cold Crash 1-2 days then bottle condition for 2-3 weeks? Does that sound about right?

        So many different styles and methods but was reading on homebrew talk people fermenting with beans. 2-3 weeks in secondary then vanilla may lose some flavor but 3 beans should be pretty strong.

        • Michael,

          Your process sounds spot on. I cold crash to get as much yeast our of suspension prior to moving to secondary, and then warm up to age on the vanilla beans. The only thing I would tend to do is let it sit in primary for more than 7 days to make sure the yeast is finished. Maybe 7-10 days at normal ferment temps (mid 60’s) then another couple in the mid 70’s to clean up any diacetyl which London Ale can produce a lot of, and then cold crash for a couple more days, rack to a new fermenter, and age on the vanilla.

          • I am using Corn Sugar when bottling for carbonation. Is this your preferred method or do you recommend a sugar type substitute? i usually use to determine amounts but they don’t seem to have a good estimate for IPA styles. For the Single Tap IPA 5 gallon batch – would you go 3 oz of corn sugar, less or more
            ? Thanks Nick!

          • When bottle conditioning, I prefer to use corn sugar. Personally I don’t think using other sugars to prime contributes that much to the overall beer profile — I’d rather lock in the flavor with the main recipe. With Single Tap, I’d recommend shooting for 2.5 volumes of CO2 or so — pretty standard. For 5 gallons stored at 70 degrees, this equates to about 140 grams or just shy of 5 oz by the calculator I use.

  2. one additional question. i was thinking of adding a small amount of toasted coconut. would you recommend an amount or have used any before? and would i add into secondary at same time of vanilla beans and bourbon? Thank you,

  3. Hi Nick!

    Looks like a great recipe! When do you add your heavily roasted malts and barley? At the beginning of the mash or towards the end? And what pH levels do you shoot at for this style? (mash and final if you are willing to share 🙂 )

    Also, does the bourbon flavour follow through? As in, a blind taster would pick up on it?

    Any further insight would be very appreciated!


    • Hi Crow,

      I add the roasted malts right with the rest of the grist. In terms of pH, I’d shoot for a standard 5.2 or so. I don’t typically pay attention to final beer pH (although it’s an interesting point). The bourbon is very muted, but pleasant. Most people probably won’t pick up on it.


  4. Hi-
    I was curious if you have ever tried to make this recipe without the lactose in it (I have friends who are lactose intolerant)?
    Do you have any thoughts on how to modify the recipe to work without lactose? Raise the temp on the mash? Any substitutes for the lactose, or removing the lactose?
    Also, how do you raise the temp to 72 degrees and hold it here for 2 days? (sorry dumb question but I’m new to homebrewing)
    When dropping the fermenter to 34 degrees, is this a simple process of just lowering the temp in a ice bath then transferring, or do you drop it 34 and hold it there for a prolonged period?

    • Hi Mark, thanks for the questions! I’d say that it’d be tough to call it a ‘milk stout’ without the lactose. That said, you could probably simulate the milk stout character by swapping out half (by weight) of the lactose for malto-dextrin which is also unfermentable and will give some more body to the beer. I’d then also add perhaps a half pound of a low lovibond crystal malt, something like C20, which will give a low level of sweetness that may be similar to what the lactose would contribute.

      As far as temp changes, I typically using my home’s ambient temp to allow the ferment to raise naturally (to 72 or so) for a diacetyl rest and then use a fridge to chill the beer down so that the yeast settles out to a tighter yeast cake. I usually keep it there for a few days until the beer is relatively bright before packaging.


  5. Hi Nick,

    A couple of months ago we gave this recipe a try. Unfortunately, we had an infection and lost the entire batch 🙁
    We have trouble finding the source of this infection, as we split our batch in two equal halvs. Until transferring it tasted pretty good. Is it know to anyone the vanilla could cause this? Anyway, I got back in the saddle pretty fast and brewed it again.
    Currently I’m ready to transfer to the new kettle. My question – do I NEED to coldcrash prior to transferring? and when aging on the vanilla, which temperature do you use? 60-68 again? and coldcrash again before bottling? Thanks a lot for sharing your recipe. I really enjoyed brewing this.

    • Hi Ralph,

      So sorry to hear about the infection! I’ve heard anecdotes about brewers having infections from vanilla beans. Soaking in something like bourbon is one way to mitigate this, but certainly wouldn’t eliminate all risk.

      I like to cold crash prior to transferring in order to minimize the amount of yeast that is carried over. You could certainly skip this step, and just be cautious about not disturbing the yeast cake. For aging on the vanilla, I wouldn’t think the temperature is too critical. I’ve always done it at fermentation temps —- low to mid 60’s.

      Cheers, and good luck!

Leave a Reply

Your email address will not be published. Required fields are marked *