Heat the olive oil in a large skillet over a medium heat. Stir in 1 tablespoon fresh rosemary and sage. Place roast in the skillet, and turn to brown on all sides. Transfer to a roasting pan.
Pierce holes in top of roast using small knife, and insert garlic slices. Pour tomatoes, pineapple, and onion slices over the roast. Sprinkle with remaining rosemary, salt, and pepper.
Cover and cook in the preheated oven for 30 minutes. Lower oven temperature to 300 degrees F (150 degrees C), and continue to cook 2 hours or until internal temperature of roast reaches a minimum of 145 degrees F (63 degrees C).