I know this problem very well. I have the same problem on the back of my M3 seats. The material is actually vinyl that is impregnated to look like leather. An APC cleaner and a medium bristle brush is all you need. My personal choice is P21S Total Auto wash diluted 1:3. Let the seats sit in the warm sun for a bit to get them warm (not hot). This allows the pores to open and the increased temperature improves the chemicals cleaning effectiveness. Spray on a liberal coating, work it in with a medium bristle brush wipe off with a cotton towel and your are done. Apply a water based dressing like OneGrand, vinylex or 303 to brig back the luster and help reduce the amount of dirt the vinyl will collect.
If you have any other questions don't hesitate to ask.
Brett @ OCD