Pre-heat oven to 350 degrees.
Heat olive oil in a large sauté pan. Add onion and sauté for a 3-4 minutes and then add garlic and sauté for another minute until garlic is fragrant and onions are translucent.
Add spinach, turn often and cook until spinach is wilted, approximately 2-3 minutes. Remove from pan and set aside to cool.
Add ricotta cheese, Parmesan cheese, parsley, salt and pepper to a medium sized bowl. When spinach is cooled, add to bowl and mix well.
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.
Open butterflied chickens and season each side with salt and pepper. Spoon cheese and spinach mixture onto half of the butterflied breast. Gently fold other half of the chicken breast over the cheese mixture and gently press to close.
Melt butter on low medium in the same saute pan used for spinach.
Turn heat up to medium high and with tongs holding the chicken breasts together so the stuffing doesn't spill out, gently lift the stuffed chicken and place into hot pan. Sear on one side for 3 minutes, then gently flip with tongs to sear the other side.
Place pan into the oven and finish cooking the chicken for 35-40 minutes or until the chicken reaches an internal temperature of 165° F.
While chicken finishes in the oven, in a medium sauce pan over medium low heat, add butter and flour for gravy. 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.