Place the rack in the upper-third of your oven and preheat to 425°F. While the oven heats, prep your broccoli and onion. Start by trimming the stem of the broccoli, getting as close to the florets as possible. Save the stem for later. Then, divide the florets into smaller pieces by pulling them apart from the bottom. Next, dice the stem and onion. Set aside.
Thoroughly dry your florets and transfer them to a large baking sheet. Cover in 2 tbsp olive oil and 1/4 tsp salt. Toss to coat, massaging the oil into each floret. Spread the broccoli out onto the pan, leaving 1-2 cm of space between each piece. If the broccoli pieces are too close together they will steam in the oven instead of crisp, so don't skip this (plz)! Cover the broccoli florets generously in 1/2 cup grated parmesan. Transfer to the hot oven and cook for 25-30 minutes, or until golden brown and crispy.
While that cooks, heat 2 tbsp olive oil in a dutch oven, or braiser, on medium heat. Once hot, add diced onion and broccoli stems. Season with 1/4 tsp salt. Cook until the stems are soft and the onion is translucent, but not brown, about 10 minutes.
When the vegetables are soft, add 1 cup orzo and stir to toast, about 2 minutes. Add 2 cups water, and a parmesan rind (if you have it!) bring to a boil and reduce to a simmer. Continue simmering, stirring occasionally to prevent the pasta from sticking, until half of the water has been absorbed. This will take about 5 minutes. Add 1 cup heavy cream, bring back to a simmer and continue cooking until the orzo is completely cooked, 3-5 minutes. At this point, stir in remaining 1/2 cup parmesan and a few cracks of black pepper. Taste and adjust seasoning.
By now, the broccoli should be crispy and golden brown. Remove from the oven, and serve atop the creamy parmesan orzo. Sprinkle the dish with any remaining crispy parmesan bits leftover on the baking sheet, and enjoy!