Combine all ingredients for the meatballs in a medium mixing bowl aside from the oil and the both.
Use a small cookie scoop (about 1 tablespoon) and scoop into balls. You can make them bigger if you like, but with this orzo I prefer them a bit on the smaller side! I like to really press everything together and then roll up in the palm of my hand so it's nice and compact.
Heat a large skillet over medium/high heat and add the oil. Once hot, add in the meatballs and cook for about 5-6 minutes, then flip and cook an additional 5-6 minutes. Once the internal temperature reaches 165, add in the chicken broth and let it simmer until absorbed. Remove from heat.
Meanwhile (I start this while the meatballs are cooking), melt two tablespoons of the butter in a medium pan. Once melted, add in the fresh cracked pepper and toast for about 30 seconds, then add in the orzo and toss to combine.
Pour in 3 cups of chicken stock and bring to a boil. Reduce the heat to a medium/low and let simmer for about 10 minutes or until the orzo is al dente. Add in both freshly grated cheeses and toss to combine. If you want it a bit saucier, add in the other 1/2 cup of broth. Add more pepper if desired and the heavy cream if using.
Serve with a base of the orzo, then top with the meatballs, fresh basil, parmesan and black pepper. Enjoy!