I am currently in the process of looking for a phd position (in math). Almost all universities require three recommendation letters (some only require two, but ideally I'd have three) from professors. The problem is that I went through my studies rather anonymously and don't really know anyone. For one of these letters I am going to ask the advisor of master thesis which seems like a pretty clear choice with no real reason against it.
Possible options for the others would be:
-The professor who held the seminar I was in last semester. I got an A+ on my talk and he probably has more to say about me than someone whos lecture I was in.
-The advisor of my bachelor thesis. The thesis was apparently considered very good in terms of mathematical content, but a bit flawed as there were quite a few small mistakes left (typos etc.). I also got very good grades in all of her exams. Reasons against her would be that the Bachelor thesis was in a different area of mathematics, I haven't talked to her for 2 years and that the accompanying seminar talk of my Bachelor thesis was rather mediocre.
-Any other professor in whose exam I had a good grade. There would be a few candidates, but besides from the oral exam I never really talked to them.
Another point mentioning is that I have excellent grades, so I guess that these letters are supposed to focus a bit more on soft skills (communication etc.)?