Halve tofu horizontally; then crosswise. (You should have 4 equal squares). Cut each square diagonally into 2 triangles. Arrange tofu in one layer on a baking sheet lined with 3 layers of paper towels; cover with three more layers. Place another baking sheet and a weight on top. Let tofu drain until towels are soaked, about 20 minutes.
Heat 1 tablespoon oil in a large nonstick skillet over medium-high heat. Add tofu, and cook, turning once, until golden-brown, about 10 minutes. Remove from pan to a plate. Reduce heat to medium. Add remaining tablespoon oil, onion, and curry powder. Season generously with salt and pepper. Cook, stirring frequently, until onion is soft, about 5 minutes. Add garlic; cook until fragrant, about 1 minute.
Reduce heat to medium-low. Add coconut milk and 1/2 cup water; bring to a gentle simmer. Return tofu to skillet. Add green beans and tomatoes, cover, and cook until tender, about 4 minutes. Serve over rice if desired.