He began his military career in the service of the French King, (Louis XIV), as many other Scots did over the centuries. When the British war with Holland was concluded, he served in the guards of the Prince of Orange, whose life he saved at the Battle of Seneff, in 1674; for which he received a captain’s commission in the same troop.
After leaving Holland, Graham was appointed captain by Charles II and sent to Scotland in 1678, with orders to suppress seditious conventicles (peaceful Lowland Presbyterian meetings). His reputation for relentless repression of the Covenanters, as they are known today, in Dumfries and Galloway earned the nickname of "Bluidy Clavers".
On 1 June 1679 the Covenanters routed him and his army at the Battle of Drumclog, whereupon he fled to Glasgow, successfully defending it until his party left on 3 June, heading towards Stirling. Later joined by the Duke of Monmouth, the whole of the militia, and two regiments of dragoons, both sides met again at Bothwell Brig, on 22 June - the Covenanters were convincingly routed.
Surprisingly, he married a daughter of a fiercely Covenanting family in 1674 and that damaged his career for a while. In 1688, however, he was created Viscount Dundee by James II while with the Scots army in England.
In 1689, after the overthrow of King James, he became an fervent supporter of the Stuart cause. Viscount Dundee raised his standard on Dundee Law in support of the Jacobite cause. For four months he rallied support in the hope that King James would return from Ireland.
His greatest (and final) victory was at the Battle of Killiecrankie, later that year, where he was fatally wounded. He died at nearby St Bride's Kirk a few miles away.
The use of "Bonnie Dundee" as an epithet dates from Sir Walter Scott's song, the original old ballad of that name being concerned with the town of Dundee.
{| border="2" align="center"
|-
|width="30%" align="center"|Preceded by:
New Creation
|width="40%" align="center"|Viscount Dundee
|width="30%" align="center"|Followed by:
James Graham
|}