This is how I eventually created a custom theme, using custom palettes (Angular 9)
Generate Colour Palette
@import "~@angular/material/theming";
@include mat-core();
// generated custom palette
$primary-palette: (
    50 : #e9f0f1,
    100 : #c7d9dd,
    200 : #a2c0c6,
    300 : #7da7af,
    400 : #61949d,
    500 : #45818c,
    600 : #3e7984,
    700 : #366e79,
    800 : #2e646f,
    900 : #1f515c,
    A100 : #9cecff,
    A200 : #69e3ff,
    A400 : #36d9ff,
    A700 : #1dd4ff,
    contrast: (
        50 : #000000,
        100 : #000000,
        200 : #000000,
        300 : #000000,
        400 : #000000,
        500 : #ffffff,
        600 : #ffffff,
        700 : #ffffff,
        800 : #ffffff,
        900 : #ffffff,
        A100 : #000000,
        A200 : #000000,
        A400 : #000000,
        A700 : #000000,
    )
);
$primary: mat-palette($primary-palette);
$secondary: mat-palette($mat-blue);
$warn: mat-palette($mat-yellow);
$theme: mat-dark-theme($primary, $secondary, $warn);
// apply the dark theme
@include angular-material-theme($theme);
How can I use custom theme palettes in Angular?