Heat oil over medium heat in a large pan.
Add chopped onion and sauté for about 3 to 5 minutes or until they’re translucent.
Add sliced serrano chiles and cook for about 3 minutes until they soften a bit.
Add sliced garlic and cook for about 1 minute, the garlic will become fragrant.
Remove pan from heat and let the onion and chile mixture cool down for 5 to 10 minutes.
Transfer mixture to a blender along with chopped parsley, spinach, 1/2 cup of Mexican crema, milk, and salt. Blend ingredients until smooth.
Blend ingredients until smooth.
Add enough water to a medium or large pot to cook the spaghetti. Bring to a boil.
Cook the dried spaghetti for 10 minutes or per the packet instructions.
On the same pan where the onion and chile was sautéed, add 1 tablespoon butter. Heat pan over medium heat.
When the butter is melted and starts to bubble add the blended green sauce.
Lower heat to medium low and cook sauce gently for 5 minutes and stir occasionally so sauce doesn't stick. Sauce will thicken a bit.
Add another 1/4 cup of crema for a bit more creaminess. Stir into the sauce and remove from heat or turn off heat.
Transfer spaghetti to the large pan and toss with the green sauce, making sure it's well coated.
If the sauce is too thin add a bit more cream, a tablespoon at a time unit you reach desired thickness. If the sauce is too thick add a bit of the past water one tablespoon at a time until you reach desired texture.
Garnish with chopped parsley and parmesan cheese. Enjoy!