Off-spinner Saqlain captured 5-35 and leg-spinner Kaneria 4-62 as Bangladesh were bowled out for 148, failing to last two full sessions after electing to bat on a good batting wicket.
Pakistan, in reply, were 99-1 at close, with opener Taufiq Umer and Younis Khan batting on 47 apiece.
Saqlain, who went wicketless in the first Test at Dhaka, struck in his second over and continued to torment the batsmen with turn and bounce.
It was Saqlain’s 12th haul of five or more wickets in an innings and marked the 25-year-old’s return to form after a lean period last year.
Saqlain began by surprising opener Javed Omar with steep bounce to claim his first wicket to a catch at silly-point.
Habibul Bashar was caught down the leg side, while Sanwar Hossain was claimed leg-before as Saqlain stuck to a tidy line and length.
Kaneria pegged away at the other end, having Enamul Hoque, Aminul Islam and Fahim Muntasir caught in the close-in field.
However his best wicket was that of Mehrab Hossain, who failed to read a googly and was bowled while shaping to cut.
The 21-year-old Kaneria now has 25 wickets in three Tests against Bangladesh, having taken nine in the first Test at Dhaka and 12 in the Asian Test Championship tie at Multan last year.
Opener Al Sahariar was the only batsman to fall to a seamer, caught behind while trying to drive Waqar Younis.
Bangladeshi captain Khaled Masud (28) and Aminul Islam (25) were the only ones to offer some resistance.
In reply, Pakistan lost an early wicket of Shadab Kabir for four, but Taufiq and Younis batted through till close, hitting eight boundaries each.
Pakistan included controversial fast bowler Shoaib Akhtar in place of the injured Wasim Akram from the side that won the first Test at Dhaka by an innings and 178 runs.
Shoaib is under scrutiny from the International Cricket Council after his action was questioned for a third time in four years. The 26-year-old faces a one-year ban if he is reported again for throwing.
Scoreboard
BANGLADESH (1st Innings):
Javed Omar c Taufiq b Saqlain 17
Al-Sahariar c Rashid b Waqar 13
Mehrab Hossain b Kaneria 16
Habibul Bashar c Shadab b Saqlain 2
Aminul Islam c Youhana b Kaneria 25
Sanwar Hossain lbw b Saqlain 11
Enamul Haque c Shadab b Kaneria 0
Khaled Mashud c Taufiq b Saqlain 28
Fahim Muntasir c Inzamam b Kaneria 9
Mohammad Sharif st Rashid b Saqlain 0
Manjurul Islam not out 4
EXTRAS (B-5, LB-9, NB-9) 23
TOTAL (all out, 56.4 overs) 148
FALL OF WKTS: 1-21, 2-57, 3-60, 4-65, 5-84, 6-85, 7-112, 8-126, 9-127.
BOWLING: Waqar Younis 7-2-19-1 (1nb); Shoaib Akhtar 6-2-15-0 (4nb); Kaneria 22-6-62-4; Abdur Razzaq 5-2-3-0 (2nb); Saqlain Mushtaq 16.4-3-35-5 (2nb).
PAKISTAN (1st Innings):
Taufiq Umer not out 47
Shadab Kabir c Khaled b Sharif 4
Younis Khan not out 47
EXTRAS (NB-1) 1
TOTAL (for one wkt, 33 overs) 99
FALL OF WKT: 1-12.
TO BAT: Inzamam-ul-Haq, Yousuf Youhana, Abdur Razzaq, Rashid Latif, Saqlain Mushtaq, Waqar Younis, Shoaib Akhtar, Danish Kaneria.
BOWLING (to-date): Manjurul Islam 9-2-18-0; Mohammad Sharif 8-3-17-1 (1nb); Enamul Haque 9-1-25-0; Fahim Muntasir 5-2-21-0; Aminul Islam 2-0-18-0.
UMPIRES: Mahbubur Rahman (Bangladesh) and R.B. Tiffin (Zimbabwe).
TV UMPIRE: Monjur Rahman.
MATCH REFEREE: B.F. Hastings (New Zealand).—AFP/Reuters