Preheat the oven to 350°F. Coat a baking dish with cooking spray.
Bring a large pot of salted water to a boil. Add the pasta and cook according to package instructions. Drain the pasta, return to the pot, and drizzle with olive oil.
Melt the butter in a skillet over medium heat. Whisk in the flour and cook on low heat for 10 minutes.
In a separate saucepan over low heat, warm the milk. Turn off the heat and whisk the milk into the flour and butter mixture until fully incorporated. Return the heat to medium and bring to a simmer, whisking constantly. Continue to simmer (not boil) for 15 minutes, whisking occasionally. Season with salt.
Whisk in the stock, both cheeses and salt and pepper.
Stir the cheese sauce into the pasta to coat.
Transfer the pasta to the prepared baking dish, top with breadcrumbs and more cheddar cheese, and bake for 15-20 minutes, until melted and golden on top.
For the vinaigrette, combine all ingredients other than the oil in a blender or food processor. Purée until smooth. With the motor running, drizzle in the oil until emulsified. Season with salt and pepper.
Toss the spring mix and tomatoes with the dressing in a large bowl.
Serve the mac and cheese with salad on the side.