This ham and cheese sandwich is what a homemade lunch should actually feel like – soft roll, silky folded ham, good cheese, crisp lettuce, juicy tomato, and a creamy spread that makes every single bite taste exactly right. It takes just 10 minutes to make, holds up beautifully when packed, and feels satisfying without needing to cook anything.

I think almost everyone has a ham and cheese sandwich memory. That lunchbox sandwich – a little squashed by noon, but still somehow the thing you looked forward to most – or the one thrown together in a hurry before everyone ran out the door. That feeling never really goes away. It’s just comfort food in its most honest form.
And that is probably why sandwiches are still one of my favorite things to make for lunch. They are quick, easy to change depending on what is in the fridge, and somehow always feel like a proper meal. My egg sandwiches, cucumber sandwiches, and caprese bruschetta get made just as often as this one – each completely different, but equally simple and satisfying.
Best Bread for a Ham and Cheese Sandwich
The bread sets the tone for everything else. For me, it should be soft enough to bite easily, but still sturdy enough to hold the ham, cheese, lettuce, tomato, and spread without falling apart halfway through lunch.
Sandwich rolls are what I use for this recipe. They make the sandwich feel more generous than plain sliced bread, hold the filling nicely, and travel well without getting soggy – easy to eat and still good hours later.
Ciabatta rolls are a good option if you want something with a little more chew. They work especially well when the inside is soft and airy, not too dry or tough. If the crust is very hard, I would save it for a toasted sandwich instead.
Sourdough or country bread is one I come back to when I want the bread to be part of the flavor, not just the vessel. That slight tang works really well with ham. If you’re slicing from a loaf, keep it around ½ inch (12 mm) thick – any thicker and the bread starts to take over.
Plain sandwich bread is the easiest option and still works well, especially for kids’ lunches. I prefer slightly thicker slices so the bread does not turn too soft from the tomato and mayo-mustard spread.
Once the bread is chosen, the next important decision is the filling – especially the ham, which does most of the heavy lifting in this ham and cheese sandwich recipe.
Best Ham to Use
Ham is where most of the flavor comes from in this sandwich, so I don’t just grab the first one I see. Each type brings a slightly different flavor, and knowing the difference makes it easier to pick what works for you.
- Deli ham (also known as sandwich ham or leg ham) is what I use and what I’d recommend as a starting point. It’s mild, versatile, and works with pretty much any cheese or spread you pair it with. Nothing too bold, just good clean ham flavor.
- Smoked ham is a step up in depth – more savory, slightly more complex, and honestly one of my favorites. It can be strong though, so I’d pair it with a milder cheese to keep things balanced, and go easy on seasoning since some smoked hams are already quite salty.
- Honey ham is sweeter and pairs really well with a sharper cheese like cheddar to balance it out. Personally, I like my sandwiches on the savory side, so this one isn’t my first pick – but if you have a sweet tooth, you’ll probably love it.
Whatever ham you go with, for the best ham sandwich, I always prefer buying it thinly sliced from the deli counter when possible. Thin slices fold into soft ribbons, which makes the sandwich feel fuller and so much easier to bite than thick slices just sitting flat. Sometimes I use pre-packaged though – and in that case, I always give the slices a quick pat with a paper towel first, since packaged ham often sits in a bit of liquid that will make your sandwich soggy fast.
Once the ham is sorted, the next decision is the cheese – and it should balance whatever ham you’ve chosen.
Best Cheese for a Ham Sandwich
For a cold ham and cheese sandwich, I like cheese that adds creaminess and flavor without turning the sandwich into a workout. Thick, stiff slices might look generous, but they can make the whole sandwich feel heavy and awkward to eat.
- Cheddar is my personal favorite for this ham sandwich recipe. It has enough sharpness to balance the saltiness of the ham without taking over. Mild cheddar keeps the sandwich soft and familiar, while sharp cheddar gives more bite and works really well with sweeter ham.
- Swiss or Emmental is a classic pairing with ham for a reason. It has a slightly nutty, mildly sweet flavor that complements almost any ham type really well – especially smoked one.
- Provolone is a great middle-ground option. Mild, slightly tangy, and very flexible – it layers beautifully and works especially well with smoked ham because it adds creaminess without fighting the stronger flavor.
- Havarti is one I reach for when I want the sandwich to feel a little more indulgent. It has a buttery, mild flavor and a smooth texture, so it makes the sandwich feel extra creamy without needing more spread.
- Monterey Jack is on the milder side, but if you’re pairing it with a bold smoked ham, that balance actually works really well. It’s a good choice when you want the ham to stay the main flavor.
- American cheese is really at its best anywhere heat is involved – grilled cheese, hot sandwiches, or draped over a hot burger patty where it melts into that creamy layer it’s famous for. For a fully cold sandwich like this one though, I’d reach for something else. The flavor can get a little lost without heat, and the texture doesn’t quite hold up the same way.
No matter which cheese you use, I follow the same rule as with the ham – thinner slices make a better sandwich. They sit softer, bend with every bite, and help all the layers feel like one proper sandwich instead of ham, bread, and one random slab of cheese fighting for attention.
Good bread, ham, and cheese get you most of the way there. The spread and fresh toppings do the rest.

What to Put on a Ham and Cheese Sandwich
The bread, ham, and cheese carry the sandwich, but the spread and toppings are what give it personality. These are the layers that add creaminess, freshness, and a little contrast – and they’re worth thinking about.
Creamy spread is what keeps the ham sandwich from feeling dry and ties everything together. For this recipe, I use a simple mix of mayonnaise and Dijon mustard. Mayo makes the sandwich creamy, while Dijon adds a little tang so the ham and cheese don’t taste flat. Yellow mustard works too if you want a more classic lunchbox flavor. If you like sweet-salty sandwiches, you can stir in 1 tsp honey, but personally I keep this one more savory.
Fresh vegetables make the sandwich feel lighter and fresher. Green leaf lettuce is my favorite here because it is soft enough to bite through but still gives a nice crisp layer. Tomato adds juiciness, cucumber or thinly sliced red onion also work well if you want extra crunch.
Pickled toppings are optional, but they can be really good if you like more contrast. Pickles or pickled red onions add acidity and crunch, which works especially well with salty ham and creamy cheese. I would not add too much – just enough to wake everything up, not enough to turn the sandwich into a pickle situation.
For my everyday version, I keep it to mayo-Dijon spread, lettuce, tomato, ham, and cheese. It tastes fresh, creamy, and classic without becoming overloaded. Now the only thing left is how to actually put it all together.
How to Make a Ham and Cheese Sandwich
This sandwich is genuinely simple to put together, but there are a couple of things I always do that keep it tasting fresh and holding together properly.
How to Make the Mayo Spread
Start with the spread – it gives the sandwich that creamy, slightly tangy base everything else builds on. I mix the mayonnaise and Dijon mustard with a pinch of salt and black pepper – that’s it. The mayo makes it creamy, while the Dijon cuts through the richness of the ham and cheese.
The important part is spreading it thinly and evenly across all four cut surfaces of the rolls, not just piling it on one side – a thin, even layer means every single bite tastes the same.
How to Prepare the Tomatoes
We all know tomatoes are delicious in sandwiches, but they can be a little dramatic with all that juice. I found one small trick that helps reduce the extra liquid without making them dry. Slice the tomato crosswise about ¼ inch (6 mm) thick, and lay the slices flat on paper towels while you prep everything else. Right before assembling, blot the tops with another paper towel. It takes an extra minute and gets rid of a lot of that excess liquid.
And one more thing – even after blotting, I never place tomatoes directly onto the bread. They’re still tomatoes, not magic. Sitting straight on the bread, especially in a lunchbox, they’ll turn it soft very fast. That’s why layering order matters – and that’s exactly what’s next.
How to Assemble a Ham and Cheese Sandwich
As you might have already noticed, the order of layers matters here. I start with lettuce on the bottom – it acts as a barrier between the bread and the tomato, which keeps the bread from getting wet. The tomato goes on top of the lettuce, then the ham.
For the ham, I fold the slices into loose ribbons instead of laying them flat. It makes the sandwich feel fuller, softer, and honestly just better to eat. Then comes the cheese, folded slightly so it drapes naturally over the ham instead of sitting as one stiff layer. I finish with the remaining lettuce on top before closing the sandwich.
That’s the whole build – fast, simple, and the kind of ham sandwich that actually tastes like it was made with a little care.
What to Serve with a Ham Sandwich
A ham and cheese sandwich can absolutely be lunch on its own, especially when you just need something quick and done. But if I want it to feel more like a proper meal, I usually add something fresh, crunchy, or warm on the side.
For a fresh and lighter lunch, I like serving it with simple salads. Radish salad is especially good because it is crisp, bright, and cuts through the creamy mayo-Dijon spread. Korean carrot salad, spinach strawberry salad, or beet salad also work really well when you want something colorful and fresh next to the sandwich.
Vegetable sides are another easy option, especially if you are making lunch at home. Roasted carrots, roasted cauliflower, or green beans Almondine make the sandwich feel more like a full meal without turning it into anything heavy.
For picnics or lunchboxes, I would go with classic cold sides. Pasta salad, potato salad, or corn on the cob all pair beautifully with ham and cheese sandwiches because they are simple, familiar, and easy to pack.
If you want something more filling, potato sides are always a good idea. Mashed potato pancakes, crispy hash browns, roasted potatoes, or hasselback potatoes – honestly any of these works and nobody is ever disappointed.
This is hands down the best ham and cheese sandwich I’ve made, and it takes just 10 minutes. Once you try it this way, I genuinely think you’ll keep coming back to it. Hope you love it as much as I do!

Ham and Cheese Sandwich
Equipment
- Knife
- Cutting Board
- Small Bowl
- Spoon
- Paper Towels
Ingredients
- Sandwich Rolls2 pcs
- Mayonnaise2 tbsp
- Dijon Mustard2 tsp
- Green Leaf Lettuce4 leaves
- Tomato1 pc
- Thinly Sliced Ham8 oz
- Thinly Sliced Cheese4 oz
- Salt⅛ tsp
- Black Pepper⅛ tsp
Instructions
- Place the tomato on its side and slice it crosswise into ¼ inch thick rounds. Lay the tomato slices in a single layer on paper towel while you prepare the rest of the sandwich.
- In a small bowl, stir together the mayonnaise, Dijon mustard, salt, and black pepper until smooth.
- If your rolls are not pre-cut, use a serrated knife to slice them horizontally. Spread the mayo-Dijon mixture evenly over all cut sides of the rolls in a thin layer.
- Add half of the lettuce leaves to the bottom half of each roll. Blot the tomato slices lightly on top with another paper towel to remove any remaining moisture, then place them over the lettuce in a single layer.
- Fold the ham slices into loose ribbons rather than laying them flat – this makes the sandwich feel fuller and easier to bite. Pile the ham over the tomato. Fold the cheese slices slightly so they drape in soft waves over the ham rather than sitting as a flat layer.
- Place the remaining lettuce leaves on top of the cheese, then close each sandwich with the top half of the roll. Serve straight away, or wrap tightly if packing for later.
Notes
- The best bread, ham, and cheese options for a ham and cheese sandwich are covered in detail above. If you are not sure what to buy, it’s worth a quick read before you shop.
- Use thinly sliced ham and cheese for the best texture. Thick slices can make the sandwich feel heavy and harder to bite.
- Don’t place tomato directly onto the bread if you are packing the sandwich for later. Lettuce helps create a barrier and keeps the roll fresher.
Nutrition Information
Serving Size: 315 g
| PER SERVING | AVG. QTY* | %DV** |
|---|---|---|
| Calories | 645 kcal | 32% |
| Protein | 39 g | 78% |
| Fat | 36.7 g | 56% |
| Saturated | 15 g | 75% |
| Unsaturated | 21 g | 53% |
| Trans | 0.7 g | |
| Carbohydrate | 36 g | 12% |
| Dietary Fiber | 3 g | 12% |
| Sugars | 4 g | 4% |
| Sodium | 1900 mg | 83% |
| Cholesterol | 108 mg | 36% |
* Nutritional values are approximate and provided for general guidance only. Actual values may vary depending on ingredients and exact quantities used.
** Percent Daily Values are calculated based on a standard 2,000-calorie daily diet. Individual nutritional needs may differ depending on personal calorie requirements.
Share with Friends
Good food is better when shared. It also helps us create more recipes for you.
Frequently Asked Questions
How to make ham and cheese sandwich?
To make this ham and cheese sandwich, spread the mayo-Dijon mixture over all the cut sides of the rolls, then layer with lettuce, tomato slices, ham folded into loose ribbons, and cheese arranged in soft waves before closing the sandwiches.
What to put on ham and cheese sandwich?
A creamy mayo-Dijon spread, crisp green leaf lettuce, and tomato work best. Pickles, thinly sliced cucumber, or red onion are great additions for extra crunch and flavor.
What cheese goes best with ham?
Cheeses with a smooth texture and balanced flavor tend to work best with ham. Mild cheddar is a great choice if you want more flavor, while yellow American cheese is especially good in hot sandwiches or anywhere the cheese has a chance to melt. Swiss, provolone, and Monterey Jack are also good options, depending on the style of sandwich you want.
How many calories are in a ham and cheese sandwich?
Around 600-700 calories per serving, depending on the roll size and cheese variety. Exact nutrition details are in the recipe card above.
