Preheat oven to 450°F.
Get a pot of water boiling, and add a handful of salt.
Cut the grape tomatoes in half and place them on a baking tray, season with salt and pepper, drizzle with olive oil and place in the oven for about 15 minutes.
Add the macaroni to the water and cook according to the package directions, usually 6-9 minutes, or until they are al dente.
Place another pot over medium heat and add the butter, once it has melted, add the onions and cook for 3 minutes, then whisk in the flour. This will form a paste, keep whisking for another 3-5 minutes, just to cook the flour, this is called a roux. Once the paste has cooked for a few minutes, pour in the milk and continue to whisk until the mixture is smooth. Lower the heat and whisk in all of the cheese. Season with a bit of salt and pepper. If the mixture is too thick, use a few splashes of the pasta water to thin it out.
To make the breadcrumb topping, place a pan over medium heat and begin toasting the panko breadcrumbs. Finely chop a handful of basil and add them to the pan, toss for a few minutes until the breadcrumbs are golden brown, set aside.
Once the macaroni is cooked, transfer it directly to the pot with the cheese sauce and mix, again adding some pasta water to keep it smooth and creamy. Pull your tomatoes from the oven and gently fold them into the mac and cheese and top the dish with the toasted breadcrumbs. Enjoy.