Mix and shape the meatballs. Put the beef, carrot, grated onion, egg yolk, salt, pepper, and oregano in a bowl. Add the semolina or breadcrumbs in small doses, and check the texture as you go, because depending on the type you use you might need more or less. Mix gently with your hands or a fork, only until it comes together. Too much mixing makes the meatballs dense. Let the mixture rest for 5 to 10 minutes so it can soak up the moisture. If needed, dip your hands in cold water before rolling, and do it again whenever the mixture starts to stick. Roll small meatballs of about 1 oz (25 to 30 g), roughly 1¼ inches (3 cm) wide. You'll get 7 or 8.
Brown the meatballs and cook the onion. Heat the oil in a 10-inch (26 cm) deep skillet over medium heat. Add the meatballs turning gently, until browned on a few sides. They don't need to be cooked through yet. In the same skillet, cook the sliced onion for 3 to 4 minutes until soft and lightly golden. Leave the brown bits in the pan, since they add flavor.
Add carrots. Add the sliced carrots to the skillet, then stir them together with the chopped onions and seared meatballs to combine the flavors.
Make the sauce. Turn the heat to low. Add the cream or sour cream, water, bay leaf, and a pinch of salt. Stir until smooth. Don't let it boil hard, especially with sour cream, which can split.
Add broccoli and simmer. Tuck the broccoli around the meatballs and spoon a little sauce over it. Cover and cook on low for 5 to 9 minutes, until the broccoli is tender but still has a bite and the meatballs are cooked through (160°F / 71°C inside). If the sauce gets too thick, stir in a tablespoon or two of water.
Serve. Take out the bay leaf, taste, and add salt if needed. Spoon sauce over the top and serve right away.