Prep the basics. Cut the chicken into small, bite-size pieces (about 3/4-inch). Rinse the rice under cold water until the water runs mostly clear.
Dice the onion, carrots, and celery. Soften the cream cheese so it blends smoothly later.
Sear the chicken. In a large pot or deep skillet, heat butter or oil over medium-high. Add chicken, season with a pinch of salt and pepper, and cook until lightly browned on the outside, about 4–5 minutes.
It doesn’t need to be fully cooked yet. Transfer to a plate.
Soften the veggies. In the same pot, add a little more butter or oil if needed. Sauté onion, carrots, and celery with a pinch of salt over medium heat until tender, 4–5 minutes.
Stir in garlic for 30 seconds.
Toast the rice. Add rinsed rice to the pot and stir for 1 minute. This helps it absorb flavor and keeps the final texture fluffy.
Add liquids and simmer. Pour in chicken broth and stir, scraping up any browned bits. Return the chicken (and juices) to the pot.
Bring to a gentle boil, then reduce heat to low. Cover and cook for 15–18 minutes, stirring once or twice to prevent sticking, until rice is tender and most liquid is absorbed.
Make it creamy. Stir in milk or half-and-half and the softened cream cheese. Keep heat on low and stir until the cream cheese melts and blends into a smooth sauce.
If using Parmesan, add it now. Adjust salt and pepper to taste.
Add veggies for color. Stir in peas or corn and cook 2–3 minutes more, just until heated through. If the mixture is thicker than you like, splash in a bit more milk or broth.
Finish and rest. Sprinkle with dried parsley.
Turn off heat, cover, and let it rest for 5 minutes. This helps the rice finish steaming and the sauce set to a creamy consistency that kids love.
Serve warm. Spoon into bowls. For the littlest eaters, let it cool slightly and slice any larger chicken pieces.