Australian seamer Michael Neser bowled an inspired spell (4/53) to help dismiss Lancashire for 164 in their second innings.
Requiring 188 to win, Glamorgan reached 137/3 at the close with fellow Aussie Marnus Labuschagne unbeaten on 32 and the Welsh county needing 51 runs for victory heading into day three.
"It's been a strange game, I feel we're definitely on top at the moment, but there's plenty of cricket still to go," said Neser after play.
"At times the batters have been dominant but all of a sudden wickets fall in clumps so we've got to be wary about that.
"I was bowling with a bit of intent but I don't think I was the best bowler, Hogan, Lloydy and Weighell bowled quite tightly but I was in the wickets.
"Marnus and Kiran are going really well so we've got to keep the same positive approach.
"It would be great to be the first team to beat Lancashire, especially at our home ground which would make it even sweeter."