My flight is Osaka-Tokyo (Haneda), eta 12:20pm and Tokyo (Narita)-Kuala Kumpur etd 5pm. Do I have enough time to transit and what is the best way to Narita airport from Haneda?
There is a shuttle bus which costs 3,100 Yen and takes approximately 80 minutes (but this is heavily traffic dependent and could thus take longer). The train would take nearer to two hours, but is fairly predictable in terms of journey time.
Add in time to get from the plane to baggage reclaim to the mode of public transport, and adding in an assumption that you want to arrive in Narita a minimum of two hours before your flight, and this leaves you with almost no scope for any delays of any kind (long check-in/security lines, missed train/bus connections, late flight from Osaka, baggage reclaim in Haneda taking forever, etc.)
If these are on one ticket, confirm with the airline what the expectation is on you to transfer (especially, determine whose liability missing hte second flight would be).
If they are seperate tickets, why not consider Shinkansen + Express train? They are more frequent and will remove a lot of the unknowns.
ANA has a table on the minimum connecting time at Japan Domestic airports.
It recommends at least 180 minutes (3 hours) for domestic-to-international transit between Haneda and Narita.
In your case, you should be able to catch your flight, if everything is running on time.
An alternative is to book your first leg of the flight straight into Narita, which should make the transit easier.