How to Make It
Heat 1 tablespoon of the oil in a small skillet over medium. Add onion; cook, stirring occasionally, until tender, about 4 minutes. Transfer onion to a food processor; cool slightly.
Bring a large pot of salted water to a boil over high. Add spinach and basil; cook just until wilted, about 30 seconds. Using a slotted spoon, transfer spinach and basil to a fine wire-mesh strainer; cool slightly, about 5 minutes. Add spinach and basil, queso fresco, milk, walnuts, garlic, lime juice, salt, pepper, and remaining 2 tablespoons oil to food processor. Process until smooth, about 1 minute.
Cook spaghetti in salted water according to package directions. Drain, reserving 1/2 cup cooking water. Toss spaghetti with spinach mixture, adding cooking water, 2 tablespoons at a time, until desired consistency is reached. Garnish with additional basil and queso fresco.