Preheat oven to 375°F. Bring a large pot of water to a boil for the pasta.
Arrange the bacon on a slotted broiler pan or parchment-lined baking sheet. Bake to crisp then remove bacon to a cutting board and cut the thin strips into thirds across, making long sticks about 2 1/2-inches long.
Preheat a grill pan over medium-high heat. Drizzle cut Romaine halves with olive oil and season with salt and pepper. Grill Romaine cut-side first to char slightly, 2-3 minutes; turn and grill 1 minute then remove. Drizzle with a little thick, aged balsamic and shred into 1/4- to 1/2-inch strips, cutting across the halved hearts.
Meanwhile, heat olive oil, 3 turns of the pan, in medium-sized, deep-sided skillet with a tight-fitting lid over medium-high heat. Add garlic and whites of onions, and swirl and stir 2 minutes. Add tomatoes, thyme, salt and pepper, and cover pan. Cook 12-15 minutes, shaking occasionally to burst tomatoes. Remove lid and break them up more with a wooden spoon to form a fresh cherry tomato sauce. Stir in greens of onions and a few leaves of basil, reduce heat to low.
Salt boiling water liberally for the spaghetti, add pasta and cook 7-8 minutes to al dente. Add a cup of starchy cooking liquid to the sauce, drain pasta and return it to the hot pot. Toss spaghetti with sauce, bacon and greens. Serve immediately in shallow bowls topped with Pecorino cheese.