Chicken and Veggie Stir-Fry
A fast chicken stir-fry with broccoli, peppers, and carrots in a savory coconut-aminos sauce, high protein, grain- and soy-free, and Whole30-friendly.
Why You'll Love This Recipe
A weeknight stir-fry that fits both paleo and Whole30, because the sauce is coconut aminos rather than soy. Fifteen minutes from cold pan to plates, and about ten of those are chopping, which is why every bit of it wants to be cut before the pan is hot. Stir-frying is a method with no gaps in it: once the chicken hits the heat there is no moment where you can stop and slice a carrot. Having everything sitting on the counter within reach is not tidiness here, it is the technique.
Cook the chicken first, take it out of the pan, cook the vegetables, then bring everything back together at the end. Trying to do both at once gives you overdone chicken and raw broccoli every single time, because thin slices of breast are finished in about five minutes and broccoli florets are not. Taking the chicken out is not an extra step so much as the one decision that separates a stir-fry from a pan of things cooked together, and the plate it rests on catches juice that goes back in with it.
The chicken handles protein while the broccoli, pepper and carrot bring fiber and enough color that the bowl is doing several jobs at once. It is also a forgiving recipe to improvise with, since almost any firm vegetable in the drawer will take the same two minutes in a hot pan, which makes it the dinner to reach for at the end of a week rather than the start of one. Another chicken dinner along these lines is our Baked Chicken With Butternut Squash.
Ingredients
- 1 1/2 lb boneless skinless chicken breast, sliced thin
- 3 cups broccoli florets
- 1 red bell pepper, sliced
- 2 medium carrots, thinly sliced
- 4 cloves garlic, minced
- 1 tbsp fresh ginger, grated
- 3 tbsp coconut aminos (coconut-based; soy- and gluten-free; note: the FDA labels coconut a tree nut)
- 2 tbsp olive oil
- 1/4 tsp fine sea salt
- black pepper
Instructions
- Cut everything before the pan gets hot: Slice the chicken thin across the grain and season it with the sea salt and a few grinds of pepper. Cut the broccoli into florets no larger than a walnut, slice the pepper and the carrots thin, and mince the garlic and grate the ginger into one small dish together. Set all of it on the counter within reach of the stove. From the moment the oil goes in, this dish runs without pausing, and anything still on the cutting board arrives late and cooks unevenly.
- Sear the chicken in one layer, then take it out: Heat a tablespoon of the oil in a large skillet or wok over high heat until it shimmers, then lay the chicken in one layer and leave it alone for a full minute before you start moving it. Stir-fry about five minutes, until the pieces are opaque and browned at the edges and reach 165°F. Then take it out onto a plate. Chicken left in the pan while the vegetables cook picks up another six or seven minutes it does not need, and breast dries out in far less than that.
- Vegetables in the order of how long they need: Add the rest of the oil, then the carrots and the broccoli, and stir-fry those for three minutes before the pepper joins them, since a sliced carrot needs roughly twice as long as a strip of pepper. Keep everything moving the whole time. After another two or three minutes the broccoli should be bright green and still firm where the stem meets the floret, which is what crisp-tender means in practice. The garlic and ginger go in for the last thirty seconds only, because both scorch and turn bitter on high heat.
- Chicken back in, sauce around the edge: Return the chicken and any juice that collected on the plate, then pour the coconut aminos around the rim of the pan rather than into the middle, so it hits hot metal and reduces on contact instead of pooling and cooling everything down. Toss for a minute or two until the vegetables look glossy and everything is hot through. Coconut aminos are thinner and sweeter than soy sauce and take a moment to cling, so if the pan still looks wet, give it another thirty seconds over high heat.
- Taste it before it leaves the pan: Coconut aminos carry noticeably less salt than soy sauce, so this is the moment the dish either tastes finished or tastes like steamed vegetables with chicken in them. Taste it and adjust: a pinch of salt if it falls flat, more grated ginger for heat, a squeeze of lime for lift. Then serve it straight away, because a stir-fry sitting in a hot pan off the heat carries on softening the vegetables you just took care to keep crisp.
Variations
- Add more vegetables: Snap peas, baby corn, or sliced bok choy stems go in with the carrot. Leafy parts and bean sprouts go in at the very end.
- Make it spicy: Bloom a pinch of red pepper flakes in the oil before the chicken, or stir sriracha into the coconut aminos so the heat coats everything.
- Change the protein: Shrimp needs only two or three minutes, thin-sliced pork loin behaves like the chicken, and cubed extra-firm tofu works if you brown it well first.
- Make it a bowl: Spoon it over cauliflower rice to keep the carbohydrate low, or over brown rice if you want the meal bigger. The rice is a grain, so that version is no longer paleo, Whole30 or low-carb.
- Brighten it at the end: Lime juice and torn cilantro off the heat, or a little orange zest stirred into the coconut aminos. Either one lifts the sweetness.
Storage & Leftovers
Refrigerate leftovers in an airtight container for three to four days. Let it cool uncovered for a few minutes before the lid goes on, because steam trapped over hot broccoli keeps cooking it, and you open the container the next day to a softer dinner than the one you put away. Spreading it out in a shallow container rather than piling it deep gets it cold faster, which helps for the same reason.
Reheat this fast and hot rather than slowly. Two or three minutes in a skillet over medium-high, moving constantly with a splash of water, gets it through before the vegetables have time to soften any further. Low and slow, or a long single run in the microwave, is exactly how crisp-tender broccoli turns olive-colored and limp. If the microwave is what you have, use short bursts and stir between them.
It portions well for the week, as long as you accept that the vegetables give up a little bite with each day. If that bothers you, there is a way around it: cook the chicken and the sauce in full but hold back half the vegetables raw, then stir-fry those fresh in three minutes on the day. An open bottle of coconut aminos keeps for months in the refrigerator, so it covers several rounds of this.
Notes & Tips
- About coconut aminos: They are a soy-free, lower-sodium seasoning with a gently sweet, savory flavor. If you tolerate soy, an equal amount of low-sodium tamari also works.
- Slice the chicken thin and cold: Twenty minutes in the freezer firms the breast enough to cut into even thin slices, and thin slices are what cook through in the time a stir-fry gives you.
- Cut everything before you turn on the heat: A stir-fry moves faster than you can chop. Have the vegetables, the garlic, and the ginger all ready by the stove first.
- Cook the chicken in two loads: Piled into one pan it releases water and poaches. Two batches take an extra two minutes and give you actual browning.
- Garlic and ginger go in last: Thirty seconds is all they need. Added at the start of a hot pan they scorch and turn bitter.
- Flexible swap: No garlic? You can leave it out, or use a pinch of garlic-free all-purpose seasoning.
Nutrition & Mindful Eating
- Chicken, broccoli, bell pepper and carrot finish at nearly the same moment, so the protein and the vegetables arrive together on the plate, each one still holding its own texture and its own color.
- Sliced thin across the grain, chicken breast cooks through in a couple of minutes and stays tender, and its complete protein is what gives a fast pan of vegetables real staying power.
- Broccoli florets pick up a little char at their edges while the stems stay crisp. The short cooking time holds onto more of their vitamin C than a long simmer would, and the fiber they bring is part of why this eats fuller than a quick meal usually does.
- Carrots sliced thin turn sweet in the heat and keep some of their snap, and the beta-carotene behind their color is taken up better because there is olive oil in the pan with them.
- Garlic and fresh ginger go in near the end so they stay sharp and aromatic, and the coconut aminos reduce down into a sweet-savory glaze that coats every piece. Cracked black pepper at the finish is what pulls it all together.
- As you eat, pay attention to the ginger coming through last, the snap still left in the broccoli and the sweetness the carrots picked up, and let the bowl take longer than it took to cook.
Frequently Asked Questions
What are coconut aminos?
A savory sauce made from coconut sap. It tastes similar to soy sauce but is soy-free, gluten-free, lower in sodium, and Whole30-compliant.
Is this really Whole30?
Yes, no grains, dairy, soy, sugar, or legumes. Just confirm your coconut aminos has no added sugar.
Can I use a different protein?
Absolutely, shrimp, sliced beef, or extra vegetables all work; adjust the cooking time to suit.
How long does it keep?
Three to four days. Reheat it hot and fast in a skillet, two or three minutes with a splash of water, rather than gently, because a slow reheat carries the broccoli past crisp-tender and into limp. Cool it uncovered before it goes into the refrigerator for exactly the same reason.

