Finely chop the onion and mince the garlic; have all ingredients measured and ready.
Heat the olive oil in a large nonstick pot over medium-high heat. Add the diced onion and cook, stirring, until golden, about 5 minutes.
Add the minced garlic and cook for 30 seconds, then add the ground turkey. Season with salt and pepper and cook, breaking up the meat, until mostly cooked through, about 5 minutes.
Stir in the frozen corn and peas and cook 1–2 minutes until thawed and the meat is fully cooked. Transfer the mixture to a plate or bowl and cover with foil; set aside.
Return the pot to the heat and melt the butter. Whisk in the flour and cook, stirring, for 1 minute to make a roux.
Gradually whisk in the chicken stock, then add the whole milk. Stir in the uncooked orzo.
Bring to a simmer, then reduce heat so the liquid is barely bubbling at the edges. Cook uncovered, stirring occasionally and scraping the bottom, until the orzo is almost tender, about 7 minutes.
Add the reserved turkey and vegetable mixture back to the pot and stir to combine.
Stir in the grated Parmesan until melted, then mix in the basil pesto and optional parsley. Taste and adjust salt and pepper as needed.
Adjust consistency with a splash of milk if desired and serve hot.