Skip to content
Home » Easy High-Protein Philly Cheesesteak Mac That Beats Takeout Every Time (30 Minutes)

Easy High-Protein Philly Cheesesteak Mac That Beats Takeout Every Time (30 Minutes)

Easy high-protein Philly cheesesteak macaroni and cheese with melted provolone, tender steak strips, and colorful bell peppers in a creamy, golden baked dish.

Look, I love a boxed mac and cheese as much as the next exhausted mom, but it has its place. And that place is not standing in for a Philly Cheesesteak. Marcus grew up in Philly, so I had to get this right. The first time I made it, he just raised an eyebrow. This version got a full “Okay, this is legit.” It’s creamy, it’s saucy, it’s loaded with tender beef and melty provolone, and it comes together in a single pot in under 30 minutes. Simone asks for it at least once a week, and I never mind saying yes.

The short version: This stovetop Philly cheesesteak mac uses a roux-based cheese sauce, seared ribeye, and caramelized peppers for a weeknight dinner that feels like restaurant takeout.

Marcus said it’s better than the local spot he used to hit after work, and he does not hand out compliments like that. I’ve made this about fifteen times now, tweaking the cheese ratio and the meat timing until it landed exactly right.

At-A-Glance

  • Serves: 6 as a main
  • Hands-On Time: 15 min | Total Time: 30 min
  • Difficulty: Easy enough for a Tuesday — no fancy skills required
  • Cost per serving: ~$3.50 (way cheaper than takeout)
  • Calories: ~620 per serving
  • Dietary Notes: Can be made gluten-free with pasta swap

(Photo above: A close-up overhead shot of the finished mac and cheese in a cast iron skillet, the cheese sauce clinging to the cavatappi noodles, with strips of seared ribeye and caramelized peppers and onions piled on top. A fork is pulling up a strand of melted provolone. Warm, golden lighting.)

The Secret to a Non-Grainy, Actually Creamy Sauce

Shredded beef sizzling with onions and green peppers in a skillet for high-protein Philly cheesesteak mac, golden cheese sauce being stirred in

The biggest mistake people make with a stovetop mac and cheese is trusting pre-shredded cheese. It has cellulose and starches to keep it from clumping, which means it refuses to melt into a smooth sauce. I shred my own block cheese. Yes, it takes five extra minutes. Yes, it’s worth it.

The second trick is building the sauce on a roux — yes, I know I talk about roux a lot, but a proper roux is just flour and fat cooked together, and it is the only way to get a cheese sauce that coats the pasta instead of sinking to the bottom of the bowl. A grainy sauce is almost always a overheating problem. Keep it low and slow.

And the third thing? Using the pasta water. That starchy liquid is liquid gold. A splash at the end loosens the sauce without making it thin, and helps it cling to every single piece of pasta. The onions, peppers, and mushrooms are cooked down the same way I cook the holy trinity for a gumbo — low and slow until they’re sweet and jammy. It’s the foundation everything else is built on.

Ingredients Worth Talking About (Plus My Honest Notes)

  • 1 lb ribeye or sirloin steak, thinly sliced: Ribeye is the classic — it has enough fat to stay tender. Sirloin works too if you slice it thin and don’t overcook it. I pop the steak in the freezer for 15 minutes before slicing. It makes the thin strips so much easier to cut. Simone calls these “the meat ribbons” and she picks them out to eat first.
  • 1 green bell pepper, thinly sliced: This is the “Philly” part. If you skip it, it’s just a steak mac. Still good, but not a cheesesteak.
  • 1 medium yellow onion, thinly sliced: The sweetness of the onion against the savory beef is non-negotiable.
  • 8 oz cremini mushrooms, sliced (optional): I add these because Marcus loves them. My kids pick them out. I can’t win, but the leftovers are for me.
  • 3 tbsp butter: For the roux. Don’t substitute margarine. Just don’t.
  • 3 tbsp all-purpose flour: This thickens the sauce.
  • 2 cups whole milk: Whole milk makes the sauce creamy. 2% works in a pinch but don’t go lower than that.
  • 1 cup low-sodium beef broth: Adds depth that water can’t give.
  • 8 oz sharp provolone cheese, shredded: This is the soul of the dish. Sharp provolone is the hill I will die on. It melts smooth, it has that tangy bite that cuts through the beef fat, and it’s not as overwhelming as blue cheese. If you can’t find provolone, a mix of low-moisture mozzarella and a sharp white cheddar is a good backup. But provolone is the real deal.
  • 4 oz low-moisture mozzarella, shredded: For the stretch. Every mac needs a cheese pull.
  • 1 lb cavatappi or elbow macaroni: Cavatappi is my favorite for this — the ridges catch the sauce and the beef pieces nestle into the curves.
  • Salt, black pepper, garlic powder: Season every layer. Celestine’s rule: season the beef, season the sauce, season the vegetables. If you just rely on the cheese for salt, the dish will taste one-dimensional.

What to Pull Out Before You Start

  • A large pot for boiling pasta (with a colander)
  • A 12-inch cast iron skillet or heavy-bottomed pan — if you don’t have one, a stainless steel pan works, just don’t use nonstick for the searing step
  • A wooden spoon or silicone spatula
  • A whisk (for the sauce — no lumps allowed)
  • A box grater (shred your own cheese, I’m serious)

The only thing here that’s non-negotiable is the whisk and the grater. Everything else can be adapted, but a good whisk is the difference between a smooth sauce and a lumpy one.

Let’s Make It (Step by Step)

This moves fast, so have your ingredients prepped and ready. The actual cooking is about 20 minutes, but you don’t want to be scrambling to shred cheese while your onions are burning.

Start the pasta water: Bring a large pot of salted water to a boil. Cook the pasta 1 minute less than the package directions say. It will finish cooking in the sauce. Don’t drain it completely — reserve about a cup of that starchy water before you strain. It’s the secret weapon for a silky sauce.

  1. Season and sear the beef: Pat the sliced steak dry with paper towels. Season generously with salt, pepper, and a pinch of garlic powder. Heat 1 tbsp olive oil in your skillet over high heat. Sear the beef in a single layer for 1-2 minutes per side until browned. Don’t stir it constantly — let it get a crust. Remove the beef to a plate and set aside. (📸 Photo tip: Your pan should look dry and dark with fond stuck to the bottom — that’s flavor!)
  2. Cook the aromatics: Reduce the heat to medium. Add the sliced peppers, onions, and mushrooms. Cook for 5-6 minutes, scraping up those browned bits from the beef, until the vegetables are softened and starting to caramelize. Season with a pinch of salt. Remove them to the plate with the beef.
  3. Make the roux: Reduce the heat to low. Add 3 tbsp of butter to the skillet. Once melted, whisk in 3 tbsp of flour. Cook, whisking constantly, for 1-2 minutes until it smells like toasted biscuits and is a light golden color. (📸 Photo tip: The roux should look like a thick, smooth paste — no dry flour spots.)
  4. Build the sauce: Slowly pour in the milk and beef broth while continuously whisking. Whisk vigorously to prevent lumps. Bring to a gentle simmer over medium heat. It will thicken in 3-4 minutes. Season with 1/2 tsp salt, 1/4 tsp black pepper, and 1/2 tsp garlic powder. Taste it here — the base should be savory and well-seasoned before the cheese goes in.
  5. Melt the cheese: Reduce the heat to low. Add the shredded provolone and mozzarella in small handfuls, stirring constantly until fully melted. The sauce will be thick and velvety. Taste it again and adjust the seasoning. I always add a little extra black pepper here.
  6. Combine everything: Add the cooked, drained pasta to the sauce. Add the seared beef and the cooked vegetables. Stir gently to coat everything. If it seems too thick, add a splash of the reserved pasta water to loosen it up.
  7. Rest and serve: Let it sit for 2 minutes off the heat before serving. This lets the sauce set up and the flavors meld together. Scoop into bowls and finish with a sprinkle of fresh parsley or extra black pepper.

How I Stretch This Across a Busy Week

This recipe is fantastic for meal prep, but you have to store it smartly. The pasta will absorb the sauce overnight, so I always make a double batch of sauce if I’m planning for leftovers. I pack the leftovers into individual containers so Marcus can grab one for lunch.

  • Fridge: Store in an airtight container for up to 4 days. Add a splash of milk when reheating to bring the sauce back to life.
  • Freezer: Yes, it freezes well! Assemble the full dish in a freezer-safe baking dish. Cool completely, then wrap tightly. Freeze for up to 3 months.
  • Reheat: The oven is best. Bake at 350°F for 15-20 minutes (from fridge) or 40 minutes (from frozen), covered with foil. Uncover for the last 5 minutes. The microwave works in a pinch but the sauce can get a little grainy — just stir in a splash of milk.

What I’ve Learned After Making This a Dozen Times

  1. Freeze the steak for 15 minutes before slicing. A semi-frozen steak is infinitely easier to slice into thin strips. This is the single best trick for getting that perfect shaved steak texture at home.
  2. Don’t overcook the pasta. Cook it to al dente (or even a minute under) because it will continue to cook in the hot sauce. Mushy pasta ruins the texture of the whole dish.
  3. Low heat for the cheese sauce. High heat will break the cheese sauce and make it grainy. Patience is key. Keep it on low and stir until smooth.
  4. Season every layer. Season the beef, season the vegetables, season the sauce. If you just rely on the cheese for salt, the dish will taste one-dimensional. This is the advice Celestine gave me that changed everything about how I cook. She would say, “Girl, if you don’t season the chicken, the chicken ain’t gonna season itself.” Same goes for every layer here.
  5. Use a high-protein pasta if you can find it. I love the chickpea or lentil pasta versions in this recipe. They add an extra protein boost and their firm texture holds up well to the heavy sauce. Don’t tell my kids — they haven’t noticed the difference.

Make It Yours: Swaps That Actually Work

  • Chicken Philly Cheesesteak Mac: Swap the steak for thinly sliced chicken breast or leftover rotisserie chicken. Season it the same way. This is what I make when I want a lighter version.
  • Spicy Kick: Add 1-2 sliced jalapeños with the peppers and onions, or stir in 1/2 tsp of red pepper flakes with the roux. Marcus does this to his bowl and the whole kitchen smells incredible.
  • Veggie-Loaded: Double the mushrooms and add a handful of spinach at the very end, letting it wilt into the sauce. My kids don’t mind the spinach if it’s hidden in the cheese.
  • Gluten-Free: Use a 1:1 gluten-free flour blend for the roux and gluten-free pasta. Be sure to not overcook the pasta, as gluten-free versions can get mushy fast.
  • Cheese Swap: Sharp cheddar works in place of the provolone for a sharper tang. Gruyere is amazing if you want to get fancy. I’ve done a mix of smoked gouda and mozzarella and it was a hit.

Questions I Get About This Recipe All the Time

Q: Why did my cheese sauce turn out grainy?
A: Ugh, I’ve been there. It’s almost always because the heat was too high or you used pre-shredded cheese. The starches in pre-shredded cheese prevent it from melting smoothly. Grate your own block cheese and keep the heat on low. You’ve got this next time.

Q: Can I use ground beef instead of steak?
A: Yes, absolutely. Brown the ground beef with the peppers and onions. Drain any excess fat. It won’t have the exact same texture as sliced ribeye, but it’s budget-friendly and still delicious. I do this when I’m using up what’s in the freezer.

Q: How long does this last in the fridge? Can I freeze it?
A: It keeps in the fridge for up to 4 days in an airtight container. Yes, it freezes beautifully! Assemble it, let it cool completely, wrap it tightly, and freeze for up to 3 months. Reheat in the oven at 350°F until bubbly.

Q: What do you serve with this?
A: I usually serve it with a simple side salad tossed in a lemon vinaigrette. The acidity cuts through the richness of the cheese sauce perfectly. We also love it with roasted broccoli on the side. My kids love a side of pickled jalapeños on the table for anyone who wants a little extra kick.

More Recipes My Family Makes on Repeat

If you loved this one, here are a few others that get the same reaction at our table:

  • [INTERNAL LINK PLACEHOLDER: One-Pot Creamy Cajun Chicken Pasta] — Smoky, spicy, and ready in 30 minutes.
  • [INTERNAL LINK PLACEHOLDER: My Best Smothered Pork Chops with Onion Gravy] — The gravy is made for sopping up with crusty bread.
  • [INTERNAL LINK PLACEHOLDER: Cheesy Ground Beef and Rice Skillet] — The meal prep hero my family begs for.

This is the mac and cheese I make when I want the real thing, not a box. It’s creamy, deeply savory, and packed with enough protein to fuel us through homework and bedtime. I hope it becomes a staple in your home the way it has in ours.

If you try it, come back and leave a comment below — I love hearing how it goes for your family. Tag me on Instagram or Pinterest so I can see your beautiful cheese pulls.

📌 This easy high-protein Philly cheesesteak mac and cheese recipe is the perfect weeknight dinner — save it for your next busy Tuesday night!

Easy high-protein Philly cheesesteak macaroni and cheese with melted provolone, tender steak strips, and colorful bell peppers in a creamy, golden baked dish.

Easy High-Protein Philly Cheesesteak Mac That Beats Takeout Every Time (30 Minutes)

This Philly cheesesteak mac and cheese brings together tender seared ribeye, sweet caramelized peppers, and a velvety provolone sauce in one pot. Ready in 30 minutes, it’s the high-protein weeknight dinner that actually beats takeout.
Prep Time 15 minutes
Cook Time 15 minutes
Total Time 30 minutes
Course Main Course
Cuisine American, Southern-Influenced
Servings 6
Calories 620 kcal

Equipment

  • Large Pot
  • Colander
  • 12-inch cast iron skillet
  • Wooden spoon or silicone spatula
  • Whisk
  • Box Grater

Ingredients
  

Produce

  • 1 medium green bell pepper, thinly sliced
  • 1 medium yellow onion, thinly sliced
  • 8 oz cremini mushrooms, sliced (optional)

Protein

  • 1 lb ribeye or sirloin steak, thinly sliced

Pantry

  • 3 tbsp butter
  • 3 tbsp all-purpose flour
  • 2 cups whole milk
  • 1 cup low-sodium beef broth
  • 8 oz sharp provolone cheese, shredded
  • 4 oz low-moisture mozzarella, shredded
  • 1 lb cavatappi or elbow macaroni
  • Salt, to taste
  • Black pepper, to taste
  • Garlic powder, to taste
  • 1 tbsp olive oil (for searing)
  • Fresh parsley, for garnish (optional)

Instructions
 

  • Bring a large pot of salted water to a boil. Cook the pasta 1 minute less than the package directions say. Reserve about a cup of pasta water before draining.
  • Season and sear the beef: Pat the sliced steak dry with paper towels. Season generously with salt, pepper, and a pinch of garlic powder. Heat 1 tbsp olive oil in your skillet over high heat. Sear the beef in a single layer for 1-2 minutes per side until browned. Don’t stir it constantly—let it get a crust. Remove the beef to a plate and set aside. (Pan should look dry and dark with fond stuck to the bottom—that’s flavor!)
  • Cook the aromatics: Reduce the heat to medium. Add the sliced peppers, onions, and mushrooms. Cook for 5-6 minutes, scraping up those browned bits from the beef, until the vegetables are softened and starting to caramelize. Season with a pinch of salt. Remove them to the plate with the beef.
  • Make the roux: Reduce the heat to low. Add 3 tbsp of butter to the skillet. Once melted, whisk in 3 tbsp of flour. Cook, whisking constantly, for 1-2 minutes until it smells like toasted biscuits and is a light golden color. (The roux should look like a thick, smooth paste with no dry flour spots.)
  • Build the sauce: Slowly pour in the milk and beef broth while continuously whisking. Whisk vigorously to prevent lumps. Bring to a gentle simmer over medium heat. It will thicken in 3-4 minutes. Season with 1/2 tsp salt, 1/4 tsp black pepper, and 1/2 tsp garlic powder. Taste it here—the base should be savory and well-seasoned before the cheese goes in.
  • Melt the cheese: Reduce the heat to low. Add the shredded provolone and mozzarella in small handfuls, stirring constantly until fully melted. The sauce will be thick and velvety. Taste it again and adjust the seasoning. I always add a little extra black pepper here.
  • Combine everything: Add the cooked, drained pasta to the sauce. Add the seared beef and the cooked vegetables. Stir gently to coat everything. If it seems too thick, add a splash of the reserved pasta water to loosen it up.
  • Rest and serve: Let it sit for 2 minutes off the heat before serving. This lets the sauce set up and the flavors meld together. Scoop into bowls and finish with a sprinkle of fresh parsley or extra black pepper.

Notes

Freeze the steak for 15 minutes before slicing for perfect thin strips. Cook pasta al dente, as it will continue cooking in the hot sauce. Keep the heat low when melting cheese to avoid graininess. Season every layer—the beef, vegetables, and sauce—for a deeply savory dish. Store leftovers in an airtight container for up to 4 days; add a splash of milk when reheating. This recipe also freezes well for up to 3 months.
Keyword high protein dinner, one pot pasta, Philly cheesesteak mac and cheese

Leave a Reply

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

Recipe Rating