"говорить по-русски" (без -й) и "говорить на русском"
Actually, I couldn't see the difference between these two phrases either. They are as much different as two phrases "to speak English" and "to talk in English". The difference is in usage. I mean, one verb should be used with preposition, another one doesn't need it. Am i right?
Although, there might be some differences in context. Because those two Russian phrases are different syntactically. "по-русски" - is an adverb. "на русском" - is a contraction from "на русском языке" - is an object with preposition-adjective-noun.