Alex Robinson drunknade i badet två dagar före jul hemma hos sig.
Stewart Greene, 65 år, från Grimoldby, Lincolnshire, sa att han dränkte Alex Robinson i ett bad men förnekade mord.
Dr Philip Joseph sa till juryn: "På över 30 år är detta ett av de mest känslolösa mord eller mord jag har varit inblandad i."
Alex var i Mr Greenes vård i sitt hem medan hans mor - den tilltalades dotter - var ute i december förra året.
Dr Joseph, som gav bevis vid Lincoln Crown Court, sade att hans diagnos på Mr Greene var att han hade en psykopatisk personlighetsstörning, kännetecknad av en " kallsinnig oro för andras känslor" och en "oförmåga att uppleva skuld".
Han sade att Greene skulle överdriva sina symptom och ägna sig åt manipulativt beteende för att komma in på sjukhus.
Men trots sitt mentala tillstånd sade dr Joseph - som har behandlat mer än 800 mordfall - att Mr Greene förstod vad han gjorde och att hans förmåga att bilda sig en rationell bedömning inte försämrades.
Han sade till jurymedlemmarna: " Även om hans omdöme var motbjudande, omoraliskt och olagligt, var det förnuftigt.
När han tillfrågades om han blev förvånad över att Mr Greene hade dödat Alex svarade han: "Ja - jag är förvånad."
Tidigare i rättegången, Timothy Spencer QC försvarade, frågade Mr Greene om han hade dränkt sin sonson, som han svarade: "Jag dränkte honom i badet, ja."
Han sa till rätten att han dränkte Alex för att han var arg på nioåringens mamma.
Rättegången fortsätter.
En psykiater sa till en mordrättegång att en nioårig Lincoln-pojkes död var ett av de mest "kloka mord" han någonsin sett.