Preheat oven to 350 degrees.
In a large saute pan, heat olive oil to medium and add onion and garlic and sauté for a 3-4 minutes until onions are translucent.
Add spinach and cook until spinach is wilted, approximately 2-3 minutes, stirring often. Remove from pan and set aside to cool.
In a medium-sized bowl, add ricotta cheese, Parmesan cheese, parsley, salt and pepper, set aside.
Butterfly chicken by holding one hand on breasts and use a very sharp knife, starting at thickest part of the chicken and slowly slice the chicken through, until about 1/2 inch from the other end, being sure to keep the breast intact.
Add cooked spinach and onion to the bowl of cheeses and mix well.
Open the butterflied chicken breasts and season each side with salt and pepper. Spoon cheese and spinach mixture onto half of the butterflied breast. Gently fold the other half of the chicken breast down over the cheese mixture and gently press to close. If needed, use toothpicks or spaghetti to secure them closed.
Add butter to saute pan and heat over medium to melt, then turnthe heat up to medium-high. Use tongs to gently transfer the stuffed chicken breasts to the pan, being care to not let the stuffing spill out.
Sear on one side for 3 minutes, then gently flip the stuffed breasts with tongs to sear the other side for another 3 minutes.
Place the pan into the oven and finish cooking the chicken for 35-40 minutes or until the chicken reaches an internal temperature of 165° F.
Meanwhile, in a medium saucepan over medium-low heat, add butter and flour and whisk constantly to form a roux. Slowly add the stock, continuously whisking.
Once all of the stock is added to the gravy, add salt and continue cooking to reduce the gravy to desired thickness.
When chicken is finished cooking, remove from oven, plate and serve with hot gravy.
Serve with your favorite mashed potatoes, stuffing, or veggies.