1. Preheat oven to 425°. Coat 2 baking sheets with cooking spray.
2. Heat 2 teaspoons olive oil in a large nonstick skillet over medium-high heat. Add onions, and sprinkle with sugar and 1/4 teaspoon salt. Cook, stirring frequently, until the onions are soft and golden, about 6 minutes. Set aside.
3. Snap off tough ends of asparagus and discard. Combine with remaining 1 teaspoon oil, and remaining 1/4 teaspoon salt in a large bowl; toss to coat. Spread asparagus evenly on prepared pans.
4. Place tomatoes in the bowl that held the asparagus, and toss to coat them in remaining oil and salt. Add onion.
5. Roast the asparagus 10 minutes or until its brightly colored and still crisp. (Recipe may be prepared to this point up to a day ahead.)
6. Add onion-and-tomato mixture to pans; cook 5 minutes or until tomatoes are heated.