Heat the oil in a large skillet over medium heat. Add the onion and cook, stirring often, until softened, about 5 minutes. Add the garlic and cook for 2 minutes longer. Stir in the beans and tomatoes. Add just enough cold water to come slightly below the level of the beans. Increase the heat to high and bring to a boil. Reduce the heat to medium-low, season with salt and pepper, and cover. Cook, covered, stirring from time to time, until very tender, 20 to 25 minutes.
Use tongs to transfer the beans to a plate or platter. Place the skillet on top of the stove. Bring to a boil over high heat. Cook, stirring often, until the cooking liquid is reduced to about 1 cup. Return the beans to the skillet and season with salt and pepper. Reduce the heat to medium-low and cook until heated through, 3 to 5 minutes. Stir in the mint and serve.