"You can use either chicken breasts or thighs to make this delicious dish. I put it together one night with items I happened to have on hand, and my husband says it was the best thing I ever cooked. It takes a bit of effort, but it is well worth it!"
Place spinach and water in a large pot over high heat. Cover and cook until spinach is wilted, 3 to 4 minutes. Drain well.
Place chicken thighs on a flat work surface. Slice horizontally through the middle to within 1/2 inch of the other side. Open the 2 sides and spread them out like an open book.
Place chicken thighs between 2 sheets of plastic wrap. Pound with a meat mallet until thin.
Transfer chicken to a large plastic bag. Add soy sauce, 1/4 cup olive oil, and garlic powder. Seal and marinate in the refrigerator for at least 30 minutes.
Melt 1 teaspoon butter in a large skillet over medium heat. Add mushrooms and onion; cook and stir until softened, about 5 minutes. Remove from heat; stir in cooked spinach and mozzarella cheese.
Remove chicken pieces from the marinade, letting excess marinade drip back into the bowl. Discard marinade. Place some of the spinach mixture into the center of each chicken thigh. Fold up chicken and wrap serrano ham around the outside. Secure with toothpicks.
Mix flour and paprika together in a wide bowl. Coat each chicken piece with flour mixture.
Heat remaining 2 teaspoons butter and 2 teaspoons olive oil in a large skillet over medium-high heat. Cook chicken until browned, 2 to 3 minutes per side. Pour in chicken stock and white wine. Reduce heat to medium. Cover and simmer, turning once, until chicken is no longer pink in the center, 25 to 30 minutes.
Transfer chicken to a platter using tongs. Increase heat to medium-high. Scrape the bottom of the skillet to loosen browned bits of food. Stir in heavy cream, water, and cornstarch. Stir until sauce thickens and coats the back of the spoon, 3 to 5 minutes. Pour over chicken.