Place tomatoes in an oven-safe skillet. Toss with olive oil and sprinkle with salt and pepper. Roast tomatoes until dark and blistered, 10 to 15 minutes. Let cool.
Meanwhile, heat butter in a 12-inch skillet over medium heat until melted, then add flour and whisk until smooth and thickened. Cook, whisking, but do not let darken, only about 2 minutes. Slowly add warm milk, whisking constantly. Season with salt and pepper and bring to a gentle simmer.
Place tomatoes in a blender or mini food processor and carefully blend until smooth.
Add pureed tomatoes to bechamel. Season to taste, and continue to cook until desired thickness has been reached, another minute or two. Add drained pasta directly to bechamel and stir until every shell is coated and pasta is perfectly al dente. Garnish with fresh basil, additional black pepper and shaved Parmesan.