Marble tabletops are not as impermeable as they look. They allow dirt and moisture to get into the rock top and stain it. The older the table is, the more likely this is to happen because the seal on the marble wears thin. If you have found an antique marble tabletop that you want to clean up, you can try several methods to clean it and get it looking like new.
Wash the tabletop with dish soap, hot water and a dish cloth. Scrub at rough spots with a plastic scrub brush. Rinse the table thoroughly with plain water and dry. This is enough for mildly soiled tables.
Mix hydrogen peroxide and flour to make a paste. Spread the paste over the entire table and cover with plastic wrap. Let it sit for three days. Remove the plastic wrap and rinse the paste off with plain water. Wash the table again with dish soap if necessary. This method works well for particularly grimy tables, such as those found at an antique or thrift store.
Mix whiting, found at hardware stores, with hydrogen peroxide to make a paste. Add three drops of ammonia and mix. Spread the paste directly onto a stain, such as a coffee or ink stain, and set a bowl upside down over it to keep the moisture in. Leave it on the stain for three days and then rinse the paste off with plain water.