Makes 2 sandwiches | Prep Time: 40 minutes (to make the onions) / Cook Time: 10 minutes (for the sandwiches)
A fancier take on a grilled ham and cheese, this cheesy ham & caramelized onion melt is layered with melty Havarti, sharp cheddar, and tangy balsamic Dijon caramelized onions. Itโs comfort food with a fun twist, and seriously SO good.
If youโve ever wanted a grilled cheese with a little extra oomph, this is the one. These cheesy ham melts are rich, savory, and packed with layers of goodness. From melty cheese to smoky Black Forest ham to jammy balsamic-Dijon caramelized onions, this small batch grilled ham and cheese sandwich is an easy yet wildly impressive twist on a classic. Itโs made for two, perfect for cozy lunches, low-effort dinners, or your next โletโs treat ourselvesโ kind of weekday.
Once the caramelized onions are made, these come together fast and pack serious next-level flavor. Each sandwich uses two cheeses for melt + flavor contrast, four slices of deli ham, and those addictive caramelized onions that deserve a fan club of their own. Slather sourdough slices with a thin layer of mayo for a perfectly golden, crunchy crust, and you’ll get sandwiches that are golden on the outside, gooey on the inside. With sharp cheddar and creamy Havarti, salty-sweet deli ham, and those jammy, flavor-packed balsamic Dijon onions.
Prep time is about 10โ15 minutes for the sandwiches (really just gathering ingredients), plus about 35-40 minutes for the onions if you’re making those fresh. But cook time is just 5โ6 minutes per sandwich! Serve with chips, pickles, or a simple side salad and call it a perfect meal.

Ingredients
- 4 slices Sourdough Bread (or any sturdy bread)
- 4 slices Havarti Cheese
- 2 slices Sharp Cheddar Cheese
- 8 thin slices Deli Ham (I used Black Forest)
- 1/4 cup Dijon Balsamic Caramelized Onions
- 2-3 tbsp. Mayonnaise or Softened Butter (for spreading onto the bread)

Ingredient Notes & FAQs
- Cheese: Sharp cheddar brings the flavor, and Havarti adds that creamy, melty magic. You could also sub in gruyรจre or Swiss cheese for a little funk, provolone (especially if you have some leftover from these Cheesy Meatball Sandwiches), fontina (great for melting!) if needed. Or honestly, just use whatever Jack cheese you love.
- Ham: High quality ham slices will taste best in this sandwich, but just use what you love. Black Forest ham adds smoky depth, but it’s a savory ham (which I personally love). Honey ham, Virginia ham, or a maple/brown sugar ham also totally work if you’re into a sweeter flavor! Their sweetness plays beautifully with the rich cheese, tbh. Not into ham? Deli turkey works too; just know the flavor will shift a bit. OR if you’re making this around Easter, a fat slice of leftover spiral ham in place of each deli ham layer would be absolutely amazing!!
- The Onions: These balsamic Dijon caramelized onions are sweet, savory, and tangy all at once, so they make the sandwich pretty special. Store-bought caramelized onions are a great shortcut in a pinch! Bonus option: heat 1/4 cup of store-bought caramelized onions in a skillet over low heat, and stir in 1/4 tsp each of Dijon mustard, brown sugar, and balsamic vinegar. Cook for 2โ3 minutes, then let them cool.
- The Bread: Sourdough holds up best with all the fillings and gives a perfect crunch, but country white or whole grain are great backups. Or if you have a favorite bread for grilled cheese, I support that option, too!
This recipe is small batch by design, but you can easily double or triple it!

Directions
Step One: Cook the Onions. Thinly slice 1 medium yellow onion and toss it into a skillet with 1 tbsp butter + 1 tsp olive oil over medium heat. Sprinkle in a pinch of salt and cook, stirring occasionally, for about 10 minutes. Turn the heat down to medium-low and keep cooking, stirring every 5 minutes, for another 20โ25 minutes, until the onions are soft, golden, and jammy. Stir in 1/2 tsp light brown sugar + 1/2 tsp Dijon mustard + 1/2 tsp balsamic vinegar at the end for tangy-sweet depth.
Want the full method with step-by-step photos? Grab the full Dijon Balsamic Caramelized Onions recipe here!



Step Two: Build the First Sandwich Layers. Spread mayonnaise (or softened butter) over one side of a slice of bread. Place it mayo-side down in a large skillet over medium heat. Tear one Havarti slice in half and lay both halves over the bread to mostly cover the surface. Top with two slices of ham, then 1 tbsp caramelized onions.


Step Three: Add More Layers: Tear the cheddar slice in half and place over the onions. Top with two more slices of ham and another tablespoon of caramelized onions.


Step Four: Finish the Stack + Flip. Tear another slice of Havarti in half and place on top. Spread mayo on another slice of bread and place it mayo-side up on the sandwich. Cook for 2โ3 minutes until the bottom slice of bread is golden brown, then press down with a spatula to help the layers stick. Carefully flip the sandwich.


Step Five: Finish Cooking. Cook another 2โ3 minutes until the bottom bread is golden brown and crispy. Turn off the heat. Pro tip: Cover the pan with a lid for 1โ2 minutes to trap the heat and melt the cheese all the way.


Step Six: Serve. Transfer to a cutting board and let it rest 30 seconds before slicing. Serve hot!

Recipe Tips & Tricks
- Mayo vs. Butter: I am a full fledged mayo fan when it comes to grilled cheese. I used butter for yeeeears (as we literally all have), but a couple of years ago I saw someone make a grilled cheese with mayo and I was like … what?! Then I tried it, and I really, truly, have never looked back. It crisps up better than butter and creates the most gorgeous golden crust, IMO.
- Medium or Medium-Low Heat is Key: Cook the sandwich over medium heat so the bread will toast, but not too quickly. If your cheese is being stubborn, turn the heat down to medium-low to let the cheese melt before the bread browns too much.
- Grab a Skillet with a Lid: Once I flip the grilled cheese, I always cover it with a lid for a couple of minutes to trap the heat inside the skillet and help the cheese melt. It’s not mandatory, but it really helps.
- Rest Before Slicing: Give it just one minute before to hang out on the cutting board before slicing! This is just enough time for the cheese to settle slightly and avoid a full structural collapse.
Ways to Customize this Recipe:
- Add sliced pickles OR pickled red onions for tang and crunch.
- Swap the ham for turkey, roast beef, prosciutto, or crispy bacon.
- Make it sweeter: Drizzle hot honey (or regular honey) inside the sandwich for a sweet kick.
- Make it a brunch kind of thing by adding a fried egg + crispy bacon.

Just FYI, my entire website is packed with small batch recipes! If you’re often cooking for one or two people, feel free to sign up for my weekly newsletter. I only send one newsletter each week, but it’s packed with four small batch recipes, as well as a few tips and tricks for you.
How to Store Leftovers
- Store in the Refrigerator: Let the sandwich cool, wrap in foil or store in an airtight container, and keep in the fridge for up to 2 days.
- To Reheat: Warm it in a skillet over low heat until crispy and warmed through, flipping once.
- Avoid the microwave โ unless you’re into soggy nostalgia vibes.
More Small Batch Sandwiches
- The best + easy Turkey + Pesto Grilled Cheese Sandwiches (makes 2 sandwiches)
- The Ultimate BLT Sandwich (makes 2 sandwiches)
- Fan Favorite Chicken Salad on Croissant Sandwiches (makes 3 sandwiches)
- Feel like another fancy grilled cheese? Apple, Bacon, and Arugula Grilled Cheese (makes 2 sandwiches)
- MOST popular Chicken Bacon Ranch Wraps (makes 2 wraps)

This is the kind of lunch that turns a regular Tuesday into something special. Itโs cozy, crispy, and it makes you feel like youโre doing something nice for yourself, even if itโs just melting two kinds of cheese between golden bread and calling it love. (Which, honestly, it is.)
Whether youโre sharing the second sandwich or keeping it around for a “โjust in caseโ snack or an “I can’t wait to eat this later” type of thing, this sandwich is here to prove that a little added effort with the onions makes such a big difference in flavor! Oh! And if you want to scale this recipe up, use the slider bar in the recipe card below (near โServingsโ) to adjust the quantity, and the ingredients will update automatically!
If you make this recipe and love it, please leave a comment and / or star rating below! Or share a photo on Instagram and tag me so we can connect and be friends! Questions? Send me an email so I can help out.
xx Sara

Grilled Ham and Cheese Melts with Caramelized Onions
Ingredients
- 4 slices Sourdough Bread (or any sturdy bread)
- 4 slices Havarti Cheese (or 1 cup shredded)
- 2 slices Sharp Cheddar Cheese (or 1/2 cup shredded)
- 8 thin slices Deli Ham (see notes)
- 1/4 cup Balsamic Dijon Caramelized Onions (recipe included below, too!)
- 2-3 tbsp. Mayonnaise or Softened Butter
Instructions
- Cook the Onions.Thinly slice 1 medium yellow onion and toss it into a skillet with 1 tbsp butter + 1 tsp olive oil over medium heat. Sprinkle in a pinch of salt and cook, stirring occasionally, for about 10 minutes. Turn the heat down to medium-low and keep cooking, stirring every 5 minutes, for another 20โ25 minutes, until the onions are soft, golden, and jammy. Stir in 1/2 tsp light brown sugar + 1/2 tsp Dijon mustard + 1/2 tsp balsamic vinegar at the end for tangy-sweet depth.Want the full method with step-by-step photos? Grab the fullย recipe here!
- Build the First Sandwich Layers. Spread mayonnaiseย (or softened butter)ย over one side of a slice of bread. Place it mayo-side down in a large skillet over medium heat. Tear one Havarti slice in half and lay both halves over the bread to mostly cover the surface. Top with two slices of ham, then 1 tbsp caramelized onions.
- Add More Layers:ย Tear the cheddar slice in half and place over the onions. Top with two more slices of ham and another tablespoon of caramelized onions.
- Finish the Stack + Flip.ย Tear another slice of Havarti in half and place on top. Spread mayo on another slice of bread and place it mayo-side up on the sandwich. Cook for 2โ3 minutes, then press down with a spatula to help the layers stick. Carefully flip the sandwich.
- Finish Cooking.ย Cook another 2โ3 minutes until the bottom bread is golden. Turn off the heat.ย Pro tip:ย Cover the pan with a lid for 1โ2 minutes to trap the heat and melt the cheese all the way.
- Serve.ย Transfer to a cutting board and let it rest 30 seconds before slicing. Serve hot!
Notes
- Ham: Black Forest ham adds smoky depth, but honey ham or a maple/brown sugar ham also totally work. Their sweetness plays beautifully with the rich cheese! Not into ham? Deli turkey works too; just know the flavor will shift a bit.
Nutrition
Tried this recipe?
Make sure to follow on Pinterest @aflavorjournal and on Instagram @aflavorjournal





Get More from A Flavor Journal!
Don’t forget to connect with me on social media where I share all of my small batch recipes!