| Year | Title | Role | Notes |
| 1985 | The Equalizer | Dillart | Episode: "The Children's Song" |
| 1985–1987 | All My Children | Jason | 3 episodes |
| 1986 | Squad | Leon Trepper | Television film |
| 1987 | The Betty Ford Story | Jack Ford | Television film |
| 1988 | Guiding Light | Dr. Jones | 2 episodes |
| Tales from the Darkside | Tom Dash | Episode: "The Deal" |
| 1993 | Black Tie Affair | Dave Brodsky | 5 episodes |
| 1994 | NYPD Blue | Norman Gardner | 4 episodes |
| Ellen | Doug | Episode: "The Fix-Up" |
| The X-Files | Daniel Trepkos | Episode: "Firewalker" |
| Web of Deception | Larry Lake | Television film |
| 1995 | ER | Sean O'Brien | Episodes: "Love's Labor Lost" and "A Miracle Happens Here" |
| Nothing But the Truth | Lieutenant Thomas 'Mac' McCarthy | Television film |
| 1996 | Touched by an Angel | Steven Thomas Bell | Episode: "Out of the Darkness" |
| 1997 | Tracey Takes On... | Nik | Episode: "Vegas" |
| In the Line of Duty: Blaze of Glory | Tom LaSalle | Television film |
| Cloned | Rick Weston | Television film |
| High Incident | Deputy Carl Engler | Episode: "Black & Blue" |
| 1998 | The Secret Lives of Men | Phil | 13 episodes |
| 1999–2006 | The West Wing | Josh Lyman | 155 episodes |
| 1999 | Felicity | Tom Anderson | Episode: "Happy Birthday"; uncredited[citation needed] |
| Behind the Mask | Brian Shushan | Television film; credited as Brad Whitford |
| The Sky's On Fire | John Morgan | Television film |
| 2002 | Malcolm in the Middle | Meg's Husband | Episode: "Company Picnic: Part 2" |
| Frasier | Stu | Voice, episode: "Kissing Cousin" |
| 2005 | Fathers and Sons | Anthony | Television film |
| 2006–2007 | Studio 60 on the Sunset Strip | Danny Tripp | 22 episodes |
| 2008 | Burn Up | James Mackintosh | 2 episodes |
| 2009 | Monk | Dean Berry | Episode: "Mr. Monk on Wheels" |
| Off Duty | Detective Glenn Falcon | Television film; also producer |
| 2010 | The Sarah Silverman Program | Toby Grossnickel | Episode: "Nightmayor" |
| The Good Guys | Detective Dan Stark | 20 episodes; also producer |
| Glenn Martin, DDS | 'Gonzo' Gonzales | Voice, episode: "Camp" |
| 2011 | In Plain Sight | Adam Wilson / Adam Roston | Episode: "Crazy Like a Witness" |
| Law & Order: LA | Attorney Miklin | Episode: "Big Rock Mesa" |
| The Mentalist | Timothy Carter / Red John claimant | 3 episodes; uncredited |
| Have a Little Faith | Mitch Albom | Television film |
| 2012 | Parks and Recreation | Councilman Pillner | Episode: "Live Ammo" |
| The Asset | Leo Maxiell | Television film |
| 2013 | Shameless | Abraham Paige | 2 episodes |
| Go On | Huey | Episode: "Ring and a Miss" |
| Lauren | Paul Milgram | Recurring role, 6 episodes |
| Drunk History | William Jennings Bryan | Episode: "Nashville" |
| 2013–2014 | Trophy Wife | Pete Harrison | Main role |
| 2014 | Law & Order: Special Victims Unit | Frank Maddox | Episode: "Reasonable Doubt" |
| 2014–2019 | Transparent | Marcy / Magnus Hirschfeld | Recurring role, 8 episodes |
| 2014 | Alpha House | Senator Ned | Episode: "The Retreat" |
| 2015–2020 | Brooklyn Nine-Nine | Captain Roger Peralta | 4 episodes |
| 2015 | Happyish | Jonathan Cooke | 10 episodes |