Nanaimo Bars

nanaimo bars

Lauri Patterson / Getty Images

Prep: 15 mins
Cook: 5 mins
Chill: 2 hrs 30 mins
Total: 2 hrs 50 mins
Servings: 24 to 36 servings
Yield: 24 to 36 bars
Nutrition Facts (per serving)
151 Calories
9g Fat
17g Carbs
1g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 24 to 36
Amount per serving
Calories 151
% Daily Value*
Total Fat 9g 12%
Saturated Fat 4g 22%
Cholesterol 18mg 6%
Sodium 55mg 2%
Total Carbohydrate 17g 6%
Dietary Fiber 1g 4%
Protein 1g
Calcium 15mg 1%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)

Nanaimo bars are a Canadian treat assembled in three layers: a crunchy, nutty base, a creamy custard middle, and a rich chocolate top layer. The bars are named after the British Columbia city of Nanaimo. The list of ingredients may look long, but the bars come together quickly—plus, there's no baking required.

Because custard powder can be difficult to find in the U.S., the second layer calls for instant pudding mix. However, custard powder is more readily available these days, so check your supermarket's international aisle.


  • For the Bottom Layer:
  • 1/2 cup unsalted butter (4 ounces)
  • 1/4 cup granulated sugar
  • 1/3 cup cocoa powder (unsweetened)
  • 1 egg (beaten)
  • 1 teaspoon vanilla extract
  • Dash salt
  • 2 cups graham cracker crumbs
  • 1 cup coconut (flaked, sweetened)
  • 1/2 cup almonds (or pecans, chopped)
  • For the Middle Layer:
  • 1/4 cup butter (2 ounces)
  • 3 tablespoons heavy cream (or milk or half-and-half)
  • 2 tablespoons instant vanilla pudding mix (or custard powder, if available)
  • 2 cups powdered sugar (8 1/2 ounces)
  • For the Top Layer:
  • 3/4 cup semisweet chocolate chips (or 4 ounces broken semisweet baking chocolate)
  • 2 tablespoons butter (1 ounce)

Steps to Make It

Prepare the Bottom Layer

  1. Gather the ingredients for the bottom layer. Butter a 9-inch square baking pan and line it with parchment paper.

  2. Place a saucepan over medium heat and bring to a simmer, then reduce the heat to low. Create a double boiler by placing a heatproof bowl or pan over the simmering water and add the 1/2 cup of butter, granulated sugar, and cocoa. Cook, stirring, until the butter is melted and the sugar is dissolved.

  3. Add the beaten egg, vanilla, and a dash of salt to the butter mixture and continue to cook, whisking constantly, until the mixture is hot and thickened. The minimum safe temperature for eggs is 160 F. Remove the pan from the heat.

  4. Add the graham cracker crumbs, coconut, and nuts. Stir the mixture until well blended.

  5. Press the crumb mixture into the bottom of the prepared baking pan. Transfer the pan to the refrigerator to chill for 20 to 30 minutes.

Prepare the Middle Layer

  1. Gather the ingredients for the middle layer.

  2. In a mixing bowl with an electric mixer, beat the 1/4 cup of softened butter with the cream or milk and pudding or custard mix. Sift the powdered sugar and gradually beat it into the custard mixture. Continue to beat until light and fluffy.

  3. Spread the custard mixture over the chilled bottom layer. Return the pan to the refrigerator.

Prepare the Top Layer

  1. Gather the ingredients for the top layer.

  2. Melt the chocolate with 2 tablespoons of butter a heatproof bowl or pan over simmering water and stir. Remove from the heat and let the chocolate mixture cool slightly.

  3. Pour the chocolate over the custard layer.

  4. Cover the pan with plastic wrap or foil and chill.

  5. Chill until set before slicing and serving, or at least 2 hours.

How to Store and Freeze

  • Cover leftovers or transfer them to an airtight container. Refrigerate for up to 4 days.
  • To freeze Nanaimo bars, place individual bars in a freezer container or zip-close bags. Label with the name and date and freeze for up to 3 months.

Recipe Variations

If you prefer a baked crust: Follow the crust recipe as written, but instead of refrigerating, bake in a preheated 350 F oven for 10 minutes. Let cool completely and proceed with the second layer.