The recruiter sent me a job profile, for which I sent him my resume, but after 2 days later he responded that the employer thinks my profile didn't match the job description. In the meantime, I discovered my ex-colleague is working there. She mentioned about the job openings, and when I told her that I am interested, she connected me to the HR, who admitted that she can't get in touch with me because the recruiter already has, however she will make sure the director at least interviews me. Now, after this, within an hour recruiter got back to me saying that he fought really hard to get me an interview call. I am not sure who to believe. Can I still go via my ex-colleague's recommendation or should I go thru the recruiter?
The recruiter is obviously a lying bastard. That being said, there are possibly legal reasons why you can't go around him at this point.
There exist written communications between the two of you in which he advertises the job for you. There's a paper trail of him contacting the company with your resume.
If the company were to hire you without paying him his fee he will most likely be able to turn around and sue the company for breach of contract.
The company will absolutely not want to get involved with that. Had your contact been purely by phone the situation might be different. As things stand the best bet is to just go through him.
Later in the process, if you feel that he is misrepresenting you, or otherwise screwing your chances over, you may want to have a heart to heart with the hiring manager and tell him that you feel that the agent is not working in your best interest, and is probably lying to you. You might then ask them to simply pay him his fee and get him out of the way of the hiring process.
You have to go through the recruiter.
Since they're the one who provided your name/resume to the client, the company almost certainly can not hire you any other way for contractual reasons.
The chances of the employer going around the recruiter are so slim as to be not worthy of consideration but even if they did, they could be forced to let you go if the recruiter finds out and the company doesn't want to pony up a fee.
You'd also be burning a bridge with a recruiter which is never fatal, it's also not a good idea to burn any bridges at all if you can avoid it.
Now, there's possibly a third option. You could go around the recruiter for the interview and if the company wants to hire you, they could just go through the recruiter anyway.
Either way, when all is said and done you should have a conversation with someone at the recruiter's company because in my experience, they don't like recruiters to be lazy when it can cost them money. I'd wait until it was resolved one way or another though.
There lies a possibility that your recruiter has a completely different contact than whomever you were contacting at the company. There's also the possibility that the recruiter has lagged in communication. For example, your call may have happened after the recruiter received an email declining an interview request.
In these situations, it's best to not assume that anything malicious is going on. You, the prospective employee, are the lifeblood of these agencies. Without hiring you, they don't make any money. Therefore I would approach this as a means of getting everyone on the same page: you, the recruiter, and the client.
Mention the referral to the recruiter, and tell them that the client company expressed interest. Conversely, the client company should be contacting the recruiter to inform them that they would like to interview you based on said referral. If things play out in your favor, all they would need to beyond that point is serve as a point of contact through the interview process. Less work for them is usually taken as a good thing based on past experience.
What if things don't go your way?
At least here in the USA, there is a beautiful competition between recruiting agencies. As a good example, I receive ~5+ emails from different agencies (and usually from multiple people within the same recruiting agency) every time a local company is hiring in my field. Aside from a few companies, most positions that open up will have multiple agencies attempting to fill a single role.
In this case, it might be possible to simply wait it out. When the role is filled, the recruiter might no longer have dibs on your resume to this company; leaving you free to apply directly to the company or any of the recruiter's competition for future positions. I have personally done this for scummy staffing agencies in the past.
There also lies the possibility that there are multiple recruiters within your recruiting agency. I have seen a recruiter more than happy to take a candidate from his colleague to fill a new position. Although this also carries the possibilities of burning bridges with that particular recruiter, so I wouldn't recommend it unless the opportunity presents itself such as someone else from the agency approaching you.