This lean steak cheesesteak mac 30-minute dinner is the ultimate quick high-protein meal for busy nights, featuring tender steak, melty provolone, and a creamy cheese sauce.
Ingredients
Instructions
Bring a large pot of salted water to a rolling boil. Add the high-protein pasta and cook according to package directions until al dente (usually 7-9 minutes). High-protein pasta like chickpea or lentil tends to cook faster and can become mushy if overcooked, so start checking a minute before the suggested time. Once done, reserve about 1/2 cup of pasta water, then drain the pasta in a colander and set aside. Do not rinse the pasta, as the starch helps the sauce cling later.

While the pasta cooks, season the thinly sliced sirloin steak with a pinch of salt, pepper, and garlic powder. Heat 1/2 tablespoon of olive oil in a large nonstick skillet or cast iron pan over medium-high heat until shimmering. Add the steak slices in a single layer (work in batches if needed to avoid overcrowding, which causes steaming instead of searing). Sear for 1-2 minutes per side until browned and cooked to medium-rare or your preferred doneness. Transfer the steak to a plate and tent loosely with foil to keep warm.

Reduce the heat to medium and add the remaining 1/2 tablespoon of olive oil. Add the sliced onion and bell pepper, and cook for 4-5 minutes, stirring occasionally, until they are softened and beginning to caramelize. The onions should turn translucent and the peppers should be tender but still have a slight bite. If you prefer more char, let them sit undisturbed for a minute before stirring. Scrape up any browned bits from the bottom of the pan—this adds flavor to the sauce.
Push the vegetables to one side of the pan and add the butter. Once melted, whisk in the flour to form a roux. Cook the roux for 1-2 minutes, stirring constantly, until it turns a light golden color and smells nutty. This step eliminates the raw flour taste and ensures a smooth sauce. Gradually pour in the milk while whisking vigorously to prevent lumps. Continue whisking until the sauce thickens, about 3-4 minutes. The sauce should coat the back of a spoon.
Reduce the heat to low and add the shredded provolone and softened cream cheese. Stir until completely melted and smooth. Season with salt, pepper, garlic powder, onion powder, and smoked paprika if using. Taste and adjust seasoning. If the sauce is too thick, thin with a splash of the reserved pasta water until it reaches a creamy consistency. The sauce should be velvety and rich, coating the pasta beautifully.
Add the cooked pasta to the sauce and toss gently until every piece is coated. Fold in the cooked steak slices and the sautéed onions and peppers, reserving a few for topping. Serve immediately in bowls, garnished with the reserved vegetables and fresh parsley. For an extra cheesy crust, you can sprinkle additional provolone on top and broil for 1-2 minutes until bubbly and golden.
For best results
- For the most tender steak, choose a lean cut like sirloin or flank steak. Slice it very thinly against the grain—this shortens the muscle fibers, making each bite melt-in-your-mouth tender. If you have time, pop the steak in the freezer for 15-20 minutes before slicing; it firms up and allows for even thinner, more precise cuts. Always pat the steak dry with paper towels before seasoning to ensure a good sear.
- High-protein pasta is the star of this dish, but it can be tricky. Chickpea pasta tends to be firmer, while lentil pasta is softer. Cook it just to al dente because it will continue to cook slightly when tossed with the hot sauce. If you're using traditional semolina pasta for a lower-protein version, that works too—just adjust cooking time. Reserve more pasta water than you think you'll need; the starch helps emulsify the sauce.
- The cheese sauce is the soul of this recipe. For the smoothest sauce, always shred your own provolone from a block. Pre-shredded cheese contains anti-caking agents that can make the sauce grainy. Use low-fat milk to keep the dish macro-friendly, but whole milk yields an even creamier sauce. If the sauce seizes or becomes lumpy, whisk in a splash of warm milk or pasta water while heating gently.
- To save time, prep all your ingredients before you start cooking—this is called mise en place. Slice the steak, chop the vegetables, shred the cheese, and measure out the milk and spices. The actual cooking time is only 20 minutes, but having everything ready ensures you can focus on the technique without scrambling. You can even slice the steak and veggies up to a day ahead and store them in the fridge.
- Leftovers can be stored in an airtight container in the refrigerator for up to 3 days. When reheating, add a splash of milk or broth to restore the creamy texture, as the pasta will absorb some sauce overnight. Reheat gently on the stovetop or in the microwave in 30-second bursts, stirring in between. Avoid high heat, which can cause the cheese sauce to break and become oily.
Variations
- For a lower-carb version, swap the high-protein pasta for zucchini noodles or cauliflower mac. Spiralize 2 medium zucchinis and sauté them in a dry pan for 2-3 minutes to remove excess moisture before adding the sauce. Alternatively, use steamed cauliflower florets in place of pasta—they soak up the cheese sauce beautifully and keep the dish keto-friendly with less than 10g net carbs per serving.
- Make it a chicken cheesesteak mac by substituting the lean steak with boneless, skinless chicken breast or thighs. Slice the chicken thinly and cook similarly, ensuring it reaches an internal temperature of 165°F. For a vegetarian high-protein option, use crumbled firm tofu or tempeh seasoned with soy sauce and liquid smoke. Sauté until golden and crispy before adding to the sauce.
- Turn up the heat with a spicy version: add 1-2 finely chopped jalapeños along with the onions and peppers, or stir in 1/2 teaspoon of red pepper flakes with the roux. For extra depth, use pepper jack cheese in place of some provolone. You can also drizzle with sriracha or chipotle hot sauce before serving. This variation adds a kick without significantly changing the macros.
- For a gluten-free adaptation, use gluten-free high-protein pasta (made from chickpea, lentil, or brown rice) and replace the all-purpose flour with a 1:1 gluten-free flour blend or cornstarch. Cornstarch should be mixed with a little cold milk to form a slurry before adding to the sauce to prevent lumps. The rest of the recipe remains unchanged, and the flavor is just as indulgent.
Nutrition
- Calories585 kcal
- Total Fat22g
- Saturated Fat11g
- Cholesterol85mg
- Sodium720mg
- Total Carbohydrates52g
- Dietary Fiber8g
- Sugars12g
- Protein38g
