A tense and nervous second 40 minutes saw both teams reduced to 14 men - as Robin Copeland and Liam Williams were both sent off by referee Ian Davies.
A late try from visiting hooker Ken Owens then set up a grandstand finale at the home of Welsh rugby.
But resilient Blues held firm to claim the vital win - a third successive triumph in the RaboDirect PRO12 - and move up to seventh spot in the league standings.
John said: "I was pleased with the way we played in the first half, but we only came in 14-8 up despite that.
"The second half was nail-biting and we had so many chances to go further away, but Scarlets were always in there and that last few minutes, when we had the ball and kicked to touch badly, was a little nerve-wracking. We dug deep and deserved the victory.
"We will look at the red card to Robin 9Copeland), but I don't want to comment on that right now," he added.
"From a rugby point of view, we are very pleased with the commitment and attitude of the players.
"With Gethin Jenkins, Bradley Davies and Matthew Rees back in the team, the demand for quality in training has gone up, it's much sharper now. You play as you train and that commitment was there from the off so we had the confidence to hold onto the victory."
Blues now face Connacht and Scarlets in the closing weeks of the season as they look to build on a run that has moved the region up to seventh spot.
John concluded: "That is three wins on the bounce now. It's the first time we have beaten Scarlets in a while and we can take real heart from that.
"Six weeks ago people asked us: 'What was left in the season and what are you playing for?' But the attitude to get a positive end to the season has shone through and you can't fault the boys.
"The final passage of play summed that up today. Dale (McIntosh) and the squad have put lots into the defence and we showed heart. We got off the floor and tackled and tackled again. The attitude was spot on and we put ourselves in the position to give everything for the cause.
"It was very open in the last 10 to 15 minutes It's a big pitch and the game seemed to go for 10 minutes longer still. But we showed heart and we can build on that.
"We haven't shown the table to the boys, we haven't shown then what is possible. We just play each game and see where we end up. Other people can look at that, we will just look at the next game. Performances will then look after themselves."