William Attewell for England v Australia at Sydney in 1891–92
Ernie Hayes for England v South Africa at Cape Town in 1905-06
Bert Vogler for South Africa v Australia at Sydney in 1910–11
Tommy Ward for South Africa v Australia at Old Trafford in 1912. Tommy Ward was dismissed in each innings by Jimmy Matthews. Uniquely, both times he came in to bat after two batsmen had been dismissed, giving Matthews a hat-trick in each innings.
Robert Crisp for South Africa at Kingsmead in 1935-36
Ian Colquhoun for New Zealand v England at Eden Park in 1954–55, twice giving Bob Appleyard a hat-trick opportunity which was denied by Alex Moir each time; the second innings was part of New Zealand's 26 all out which is the lowest team score in a Test match.
Colin Wesley for South Africa v England at Trent Bridge in 1960
Bhagwat Chandrasekhar for India v Australia at Melbourne in 1977–78
Gary Troup for New Zealand v India at Wellington in 1980–81
Dave Richardson for South Africa v Pakistan at Johannesburg in 1994–95
Adam Huckle for Zimbabwe v Pakistan at Harare in 1997–98
Ajit Agarkar for India v Australia at Melbourne in 1999–2000
Adam Gilchrist for Australia v India at Kolkata in 2000–01
Javed Omar for Bangladesh v India at Dhaka in 2007
Ryan Harris for Australia v England at Adelaide in December 2010
Virender Sehwag for India v England at Edgbaston in August 2011
Rangana Herath for Sri Lanka v Pakistan at Sharjah in January 2014
Dhammika Prasad for Sri Lanka v Pakistan at Pallekele in June 2015
James Anderson for England v India at Vishakhapatnam in November 2016
Nuwan Pradeep for Sri Lanka v Pakistan at Sheikh Zayed Stadium in September 2017
Nurul Hasan for Bangladesh v West Indies at Kingston in July 2018
Sam Curran for England v India at Lords in August 2021
Hi Mark, there have been a few
William Attewell for England v Australia at Sydney in 1891–92
Ernie Hayes for England v South Africa at Cape Town in 1905-06
Bert Vogler for South Africa v Australia at Sydney in 1910–11
Tommy Ward for South Africa v Australia at Old Trafford in 1912. Tommy Ward was dismissed in each innings by Jimmy Matthews. Uniquely, both times he came in to bat after two batsmen had been dismissed, giving Matthews a hat-trick in each innings.
Robert Crisp for South Africa at Kingsmead in 1935-36
Ian Colquhoun for New Zealand v England at Eden Park in 1954–55, twice giving Bob Appleyard a hat-trick opportunity which was denied by Alex Moir each time; the second innings was part of New Zealand's 26 all out which is the lowest team score in a Test match.
Colin Wesley for South Africa v England at Trent Bridge in 1960
Bhagwat Chandrasekhar for India v Australia at Melbourne in 1977–78
Gary Troup for New Zealand v India at Wellington in 1980–81
Dave Richardson for South Africa v Pakistan at Johannesburg in 1994–95
Adam Huckle for Zimbabwe v Pakistan at Harare in 1997–98
Ajit Agarkar for India v Australia at Melbourne in 1999–2000
Adam Gilchrist for Australia v India at Kolkata in 2000–01
Javed Omar for Bangladesh v India at Dhaka in 2007
Ryan Harris for Australia v England at Adelaide in December 2010
Virender Sehwag for India v England at Edgbaston in August 2011
Rangana Herath for Sri Lanka v Pakistan at Sharjah in January 2014
Dhammika Prasad for Sri Lanka v Pakistan at Pallekele in June 2015
James Anderson for England v India at Vishakhapatnam in November 2016
Nuwan Pradeep for Sri Lanka v Pakistan at Sheikh Zayed Stadium in September 2017
Nurul Hasan for Bangladesh v West Indies at Kingston in July 2018
Sam Curran for England v India at Lords in August 2021
Wow, I wasn't expecting so many. I thought it would have been much rarer. Getting a first ball duck in both innings is pretty challenging.